Windows 文件夹浏览与 PIDL 操作全解析
1. 文件夹浏览基础
在 Windows 编程中, SHBrowseForFolder() 函数是用于浏览文件夹的重要工具。不过,它存在一些设计上的不足,比如难以轻松指定初始浏览目录。
1.1 指定初始文件夹
要在代码中设置初始选中的文件夹,需要借助回调函数。可以利用 BFFM_SETSELECTION 消息,在收到 BFFM_INITIALIZED 通知时,让函数将焦点移到指定文件夹。示例代码如下:
int CALLBACK BrowseCallbackProc(
HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM dwData)
{
switch(uMsg)
{
case BFFM_INITIALIZED:
{
...
SendMessage(hwnd, BFFM_SETSELECTION, TRUE, dwData);
}
break;
...
}
return 0;
}
这里的 BFFM_SETSELECTION 消息需要知道 lParam 参数是 PIDL 还是路径名。上述代码中,将第三个参数设为 TRUE 表示 dwD
超级会员免费看
订阅专栏 解锁全文

376

被折叠的 条评论
为什么被折叠?



