在资源管理器替换程序的文件夹(SHOpenFolderAndSelectItems)中显示



edit:我想我找到了所需的函数,但我不知道如何捕捉这个IShellWindows::OnNavigate,这不是我调用的函数,而是一个被调用的函数。

在写我的问题时,我在类似的问题中发现了这一点,这正是我需要的

SHOpenFolder并选择资源管理器更换程序的项目

IShellWindows::RegisterPending

类型:VARIANT*

VT_VARIANT|VT_BYREF类型的变量。将pvarloc的值设置为指定要注册的窗口的绝对PIDL(PIDLIST_absolute(。

我以前只使用过SHParseDisplayName,它会给出PIDL,但这是针对文件路径的,我如何获得窗口的PIDL?窗口的PIDL是什么意思?

这个注册是做什么的?以及我如何在注册后获得要选择/聚焦的文件?调用SHOpenFolderAndSelectItems时是否会调用函数/事件?

我以前在ahk论坛上问过这个问题,因为我正在ahk中编写文件管理器,我想在ahk中调用这些dll函数。这是我在阿尝试过的。

我不确定:GetCurrentThreadId是否为long lThreadId提供了正确的线程ID?

几年后我可以回答我的问题
https://github.com/FuPeiJiang/just_SHOpenFolderAndSelectItems
代码在那里,但解释不完全是

取自c++版本(我现在明白了(解释很多((
https://github.com/derceg/explorerplusplus/commit/67c3687f3012330d802d70028f36968788d80aff


for registry (single).ah2添加到注册表然后使用目录路径运行test run SHOpenFolderAndSelectItems.ah2

HKEY_CLASSES_ROOT\文件夹\外壳->(默认(
AnythingYouWant
HKEY_CLASSES_ROOT\Folder\shell\AnythingYouWant\命令->(默认(
"C:AutoHotkey_2.0-beta.3AutoHotkey64.exe" "C:for registry (single).ah2" "%1 "

相关内容

  • 没有找到相关文章

最新更新