[英]Windows Explorer right click context menu for files and folders
我的问题与此类似,但是没有提供我需要的所有信息,或者我不太了解。
我希望在文件上下文菜单中可以选择通知我的应用程序。
我添加了键:
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
的列表传递到我的应用程序的单个实例中,有谁知道如何做到这一点?
BTW。 我使用C++
编码,但我认为这与Windows shell的业务无关。
谢谢。
我认为正确的方法是编写ContextMenuHandler并将其注册为shell扩展。
上下文菜单处理程序在密钥下注册
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
SO上也有类似的问题:
如何通过右键单击事件(动词)将多个文件/文件夹路径传递给可执行文件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.