#include "windows.h"
#include
<shlobj.h>
int main()
{
char SelectedDir[MAX_PATH];
// 最终结果
BROWSEINFO bi;
// 入参
char FolderName[MAX_PATH];
// 所选目录名称,例如选择C:\Windows\Font,则为Font
LPITEMIDLIST ItemID;
// 所选目录的系统标志指针
memset(SelectedDir, 0, MAX_PATH);
// 初始化最终结果
memset(&bi, 0, sizeof(BROWSEINFO)); // 初始化入参所有数据
bi.hwndOwner = NULL;
bi.pszDisplayName = FolderName;
bi.lpszTitle = "请选择目录";
// 改成自己希望的
bi.ulFlags=BIF_RETURNONLYFSDIRS;
ItemID = SHBrowseForFolder(&bi);
// 调用函数,打开目录选择对话框
if(ItemID)
{
SHGetPathFromIDList(ItemID, SelectedDir);
// 获取所选目录的全名
GlobalFree(ItemID);
// 返回的ItemID占用了系统资源,不要忘了释放
}
MessageBox(NULL,SelectedDir,"Dir",0);
return 0;
}