Ste*_*ris 2 winapi windows-shell
我使用SHOpenFolderAndSelectItems来打开一个新的资源管理器窗口,显示特定位置(PIDL)。我对仅打开文件路径不感兴趣,所以我需要使用 PIDL据我所知,
但是,这有效,我对选择窗口中的任何项目都不感兴趣。如果我没有传递任何要选择的项目,则会根据文档打开父文件夹:
选择数组 apidl 中的项目计数。如果 cidl 为零,则 pidlFolder 必须指向描述要选择的单个项目的完全指定的 ITEMIDLIST。此函数打开父文件夹并选择该项目。
我怎样才能简单地打开我传递的 PIDL 指向的位置?
作为测试,我传递了一个要选择的项目,指向一个空指针。这似乎有效,但恐怕这可能会产生意想不到的副作用。这种行为似乎没有记录。有没有更好的方法来实现我想要实现的目标,或者我现在使用此函数的方式是否正确?
SHOpenFolder**AndSelectItems**()应该很好地表明您使用的功能是错误的。如果您只想打开该文件夹,请使用ShellExecuteEx(),例如:
SHELLEXECUTEINFO sei = {0};
sei.cbSize = sizeof(sei);
sei.fMaask = SEE_MASK_IDLIST;
sei.hwnd = ...;
sei.lpVerb = TEXT("explore"); // <-- not "open"
sei.lpIDList = ...; // <-- your pidl
sei.nShow = SW_SHOW;
ShellExecuteEx(&sei);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |