PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
20409 03/10/09 11:09:21 RE(7):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By itameya
20405 03/10/09 00:35:39 RE(6):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By isii
20403 03/10/08 18:01:28 RE(5):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By itameya
20400 03/10/08 17:52:38 RE(4):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By hirotyan
20398 03/10/08 17:29:53 RE(3):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By itameya
20192 03/08/27 08:48:23 RE(2):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By innan-taka
20189 03/08/26 17:03:09 RE(1):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By hirotyan
20187 03/08/26 15:25:10 PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について By innan-taka

カテゴリ:PowerBuilderの開発環境
日付:2003年10月08日 17:29 発信者:itameya
題名:RE(3):PB7.0: 特殊フォルダ(デスクトップ、スタートメニュー)の取得について

innan-takaさん、こんにちは。

便乗質問させてください。
デスクトップのPathの取得方法は

クローバル外部関数で
Function Long SHGetSpecialFolderLocation(long hwndOwner, long nFolder, ref long ppidl) 
LIBRARY \"Shell32.dll\"
Function Long SHGetPathFromIDList(long pidl, String pszPath) LIBRARY \"Shell32.dll\" Alias 
for \"SHGetPathFromIDListA\" 
Function Long CoTaskMemFree(Long pv) LIBRARY \"Ole32.dll\"
を宣言し

何かのイベントで
long lngRet,pidlFolder
string strBuf1=Space(256)

//特殊フォルダのItemIDListのポインタを取得する
lngRet = SHGetSpecialFolderLocation(0, 22, pidlFolder) 
//ItemIDList のポインタからフォルダの名前を取得する
SHGetPathFromIDList(pidlFolder, strBuf1)
//タスクメモリブロックを解放する
CoTaskMemFree(pidlFolder)

messagebox(\"test\",strBuf1)

を実行することでデスクトップのPathがメッセージボックスに出力されるということですよね?
私の環境で試すと、エラーはでませんが
メッセージボックスにはスペースが表示されてるだけのようで
何も表示されないのですが、
lngRet = SHGetSpecialFolderLocation(0, 22, pidlFolder) 
の部分の第1,第2引数が間違っているのでしょうか?
こちらの引数に何を指定すべきか書かれているところはどこにあるのでしょうか
お教えください。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Microsoft SQL Server Client 6.5
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.