网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月10日漏签0天
c++吧 关注:618,623贴子:2,111,261
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 3回复贴,共1页
<<返回c++吧
>0< 加载中...

问一个 Windows API 函数

  • 只看楼主
  • 收藏

  • 回复
  • yjf_victor
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
选择文件夹的对话框有两种。
一种是:

Windows API 函数名是:SHBrowseForFolder
另外一种是:

Windows API 函数名是什么?


  • yjf_victor
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

查到了, IFileDialog类,设置FOS_PICKFOLDERS选项。
最低支持:Windows Vista


2025-06-10 00:04:00
广告
  • yjf_victor
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void ShowBrowseForFileDialog(LPTSTR folder_path)
{
CoInitialize(NULL);
IFileDialog *pfd = NULL;
HRESULT hr = 0;
if (SUCCEEDED(hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pfd))))
{
DWORD dwOptions;
if (SUCCEEDED(pfd->GetOptions(&dwOptions)))
{
pfd->SetOptions(dwOptions | FOS_PICKFOLDERS);
}
if (SUCCEEDED(pfd->Show(NULL)))
{
IShellItem *psi;
if (SUCCEEDED(pfd->GetResult(&psi)))
{
if(!SUCCEEDED(psi->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, &folder_path)))
{
MessageBox(NULL, TEXT("GetIDListName() failed"), NULL, NULL);
}
else
{
MessageBox(NULL, folder_path, NULL, NULL);
}
psi->Release();
}
}
pfd->Release();
}
CoUninitialize();
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示