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

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