国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

判斷windows的Desktop及其它目錄

2019-11-17 05:33:42
字體:
來源:轉載
供稿:網友

  使用API函數SHGetSpecialFolder。shlobj.h里有SHGetSpecialFolder的原型聲明。這個函數可以幫我們找到windows的Desktop目錄、啟動目錄、我的文檔目錄等。
SHGetSpecialFolder需要三個參數。 第一個參數是HWND,它指定了"所有者窗口":在調用這個函數時可能出現的對話框或消息框。第二個參數是一個整數id,決定哪個目錄是待查找目錄,它的取值可能是:

CSIDL_B99vBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面desktop
CSIDL_DESKTOPDirectorY desktop的目錄
CSIDL_DRIVES 我的電腦
CSIDL_FONTS 字體目錄
CSIDL_NETHOOD 網上鄰居
CSIDL_NETWORK 網上鄰居virtual folder
CSIDL_PERSONAL 我的文檔
CSIDL_PRINTERS 打印機
CSIDL_PROGRAMS 程序組
CSIDL_RECENT 大多數最近打開的文檔列一
CSIDL_SENDTO “發送到”菜單項
CSIDL_STARTMENU 任務條啟動菜單項
CSIDL_STARTUP 啟動目錄
CSIDL_TEMPLATES 臨時文檔
最后一個參數是pidl地址。SHGetSpecialFolderLocation把地址寫到pidl。
下面的代碼演示了怎樣使用SHGetSpecialFolderLocation:

//----------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LP99vEMIDLIST pidl;
LPMALLOC pShellMalloc;
char szDir[MAX_PATH];

if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
CSIDL_DESKTOPDIRECTORY,
&pidl)))
{
// 假如成功返回true
if(SHGetPathFromIDList(pidl, szDir))
{
Label1->Caption = szDir;
}

pShellMalloc->Free(pidl);
}

pShellMalloc->Release();
}
}
//----------------------------------------------------------------------
注重: 有些目錄是空的。有些特定的目錄在這個文件系統上并沒有一個相應的目錄。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 集安市| 弥渡县| 镇平县| 闽清县| 民权县| 佛山市| 安阳县| 西吉县| 太仓市| 汽车| 翁源县| 平昌县| 长阳| 河曲县| 拉萨市| 屯留县| 衡水市| 吉林省| 彩票| 石棉县| 木兰县| 曲周县| 五原县| 商城县| 望都县| 福安市| 时尚| 乌拉特中旗| 康平县| 峡江县| 汉川市| 临夏县| 夏河县| 洛扎县| 深水埗区| 子洲县| 黄山市| 绿春县| 普兰店市| 屏东县| 遂川县|