2017-08-07 17 views
0

为什么我不能将右键单击的位置作为参数传递给程序?如果我没有右键单击某个对象?如果我没有点击某个对象,为什么我不能将右键单击的位置作为参数传递?

我的测试设置: Windows 10,我有DebugViewer运行和我的程序something.exe将输出它接收调试的任何参数。

我设置这些注册表项中:

Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\Directory\Background\shell\TestYo2] 
@="Directory Test" 
[HKEY_CLASSES_ROOT\Directory\Background\shell\TestYo2\command] 
@="c:\\something.exe %1" 

Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\txtfile\shell\Try This] 
@="Txt Menu" 
[HKEY_CLASSES_ROOT\txtfile\shell\Try This\command] 
@="c:\\something.exe %1" 

结果: 当我用鼠标右键单击文本文件,然后从上下文菜单中选择我的“TXT菜单”激发了我的程序和通行证它是文本文件的文件路径。我右键单击的文本文件的位置被打印为调试。

如果我右键点击打开目录的背景下,选择我的“目录测试”此消息显示: 此文件没有与它进行此动作相关的程序。请安装程序,或者,如果已经安装了程序,请在“默认程序”控制面板中创建关联。 我的程序永远不会启动。

什么给?

回答

0

因此,解决办法是这样的:

添加一个名为NoWorkingDirectory新的密钥,并保持数据的空白。

在命令行中%1变成了%V

现在,当我用鼠标右键单击背景,并选择我的菜单项,它启动了一个程序,通过该程序包含在右键点击的位置参数刚刚发生。完成。

发现它通过这个职位:Windows shell add item to context menu when click on blank part of folder

相关问题