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 (記載なし)

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