我的问题与此类似,但是并没有提供我需要的所有信息,或者我对此不太了解。
我希望在文件上下文菜单中可以选择通知我的应用程序。
我添加了键:
HKLM/SOFTWARE/Classes/*/shell/MyApp/command::"C:\\path\\test.exe" "%1"
HKLM/SOFTWARE/Classes/Folder/shell/MyApp/command::"C:\\path\\test.exe" "%1"
测试代码:
#include <iostream>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; ++i)
std::cout << argv[i] << "\r\n";
system("pause");
return 0;
}
这可以正常工作,但是...如果我标记了几个文件/文件夹,然后单击鼠标右键并选择我添加的选项,则会启动许多测试应用程序。
这不是我想要的行为,我希望所有路径都以的列表形式传递到我的应用程序的单个实例中argv
,有人知道该怎么做吗?
顺便说一句。我正在编码,C++
但我认为这无关紧要,因为它与Windows Shell有关。
谢谢。
我认为正确的方法是编写ContextMenuHandler并将其注册为Shell扩展。
上下文菜单处理程序在key下注册
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
关于SO已经有类似的问题:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句