SHGetSpecialFolderLocation
機能
特殊フォルダのPIDLを取得する
Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _
Alias "SHGetSpecialFolderLocation" _
(ByVal hwndOwner As Long, ByVal nFolder As Long, ppidl As Long) As Long
Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _
Alias "SHGetSpecialFolderLocation" _
(ByVal hwndOwner As Integer, ByVal nFolder As Integer, ppidl As Integer) As Integer
引数
hwndOwner
ダイアログボックスの親ウィンドウのハンドル
nFolder
フォルダの位置を指定する定数
ppidl
(戻り値)PIDL(ITEMIDリストへのポインタ)
戻り値
正常終了のとき NOERROR(=0)
エラーのとき 内容を示すOLEエラーコード
備考
取得した関数はCoTaskMemFree()関数によって解放しなければならない
サンプル
ダウンロード(SHGetSpecialFolderLocation.lzh 2.47KB)
nFolderの定数
CSIDL_ALTSTARTUP = &H1D スタートアッププログラムグループ内の
特定ユーザー向けのスタートアップディレクトリ
CSIDL_APPDATA = &H1A アプリケーション定義データ用共通ディレクトリ
CSIDL_BITBUCKET = &HA ごみ箱
CSIDL_COMMON_ALTSTARTUP = &H1E スタートアッププログラムグループ内の
全ユーザー向けのスタートアップディレクトリ
CSIDL_COMMON_DESKTOPDIRECTORY = &H19 全ユーザ向けデスクトップディレクトリ
CSIDL_COMMON_FAVORITES = &H1F 同、お気に入り
CSIDL_COMMON_PROGRAMS = &H17 同、スタートメニューに表示される
プログラムグループのディレクトリ
CSIDL_COMMON_STARTMENU = &H16 同、スタートメニューに表示される
プログラムとフォルダを含むのディレクトリ
CSIDL_COMMON_STARTUP = &H18 同、スタートアップフォルダに含まれる
プログラムを含むのディレクトリ
CSIDL_CONTROLS = &H3 コントロールパネル
CSIDL_DESKTOP = &H0 デスクトップ
CSIDL_DESKTOPDIRECTORY = &H10 Windows\デスクトップ
CSIDL_DRIVES = &H11 マイコンピュータ
CSIDL_FAVORITIES = &H6 Favorities
CSIDL_FONTS = &H14 Windows\Font
CSIDL_HISTORY = &H22 インターネット履歴ディレクトリ
CSIDL_INTERNET = &H1 インターネットフォルダ
CSIDL_INTERNET_CACHE = &H20 インターネットキャッシュのディレクトリ
CSIDL_NETHOOD = &H13 NetHoodディレクトリ
CSIDL_NETWORK = &H12 NETWORKフォルダ
CSIDL_PERSONAL = &H5 My Document
CSIDL_PRINTERS = &H4 プリンタフォルダ
CSIDL_PRINTERHOOD = &H1B プリンタディレクトリ
CSIDL_PROGRAMS = &H2 \windows\プログラム
CSIDL_RECENT = &H8 Recent
CSIDL_SENDTO = &H9 SendTo
CSIDL_STARTMENU = &HB スタートメニュー
CSIDL_STARTUP = &H7 スタートアップ
CSIDL_TEMPLATES = &H15 Windows\ShellNew
戻り値の定数
E_ABORT = &H80004004
E_ACCESSDENIED = &H80070005
E_FAIL = &H80004005
E_HANDLE = &H80070006
E_INVALIDARG = &H80070057
E_NOINTERFACE = &H80004002
E_NOTIMPL = &H80004001
E_OUTOFMEMORY= &H8007000E
E_POINTER = &H80004003
E_UNEXPENCTED = &H8000FFFF