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日 14:39 発信者:nj
題名:RE(2):パスの取得
にしやんさん、こんにちは。
>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
>
どうもありがとうございました。
API関数というのは、あまりよくわからないのですが
どこかに参考になる所でもあるのなら教えてください
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.