PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
21244 | 04/05/26 15:35:23 | RE(3):パスの取得 By にしやん |
21243 | 04/05/26 14:39:22 | RE(2):パスの取得 By nj |
21241 | 04/05/26 13:48:42 | RE(1):パスの取得 By にしやん |
21226 | 04/05/26 11:29:23 | パスの取得 By nj |
カテゴリ:スクリプトの記述
日付:2004年05月26日 13:48 発信者:にしやん
題名:RE(1):パスの取得
njさん、こんにちは。
>My Documentsのあるパスを取得したいのですが、
>どうすれば取得できるのでしょうか?
API を使って「マイ ドキュメント」のパスを取得する方法です。
●外部関数
FUNCTION Long SHGetSpecialFolderLocation( &
UnsignedLong hwndOwner, Long nFolder, REF UnsignedLong ppidl) &
LIBRARY \"SHELL32.DLL\"
FUNCTION Boolean SHGetPathFromIDList(UnsignedLong pidl, REF String pszPath) &
LIBRARY \"SHELL32.DLL\" ALIAS FOR \"SHGetPathFromIDListA\"
SUBROUTINE CoTaskMemFree(UnsignedLong pv) LIBRARY \"OLE32.DLL\"
●スクリプト
//定数宣言
CONSTANT UnsignedLong CSIDL_PERSONAL = 5 //マイ ドキュメント
CONSTANT UnsignedLong MAX_PATH = 260 //パス名最大サイズ
//変数宣言
UnsignedLong pidl
String szPath
IF SHGetSpecialFolderLocation(0, CSIDL_PERSONAL, pidl) >= 0 THEN
szPath = Space(MAX_PATH)
IF SHGetPathFromIDList(pidl, szPath) THEN
//szPath に「マイ ドキュメント」のパスがセットされている
ELSE
//エラー
END IF
CoTaskMemFree(pidl)
ELSE
//エラー
END IF
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.