2012-08-09 60 views
0

我想添加一个条目到右键单击菜单,该菜单只有在右键单击.exe或.msi文件时才会出现。如果该条目被选中,exe文件将被执行(如Open),但是具有固定的文本字符串作为其参数。用参数右击“打开”

我想这应该是可能的注册表项 - 任何想法如何做到这一点?

回答

3

对于.exe文件,你可以在注册表中的以下内容:

  1. HKEY_Classes_Root,找到关键.exe
  2. 阅读(Default)
  3. (这通常exefile是)在HKEY_Classes_Root,发现键exefile(或任何你在步骤2中找到的)
  4. 根据exefile\shell创建一个新的密钥,名称与wha匹配T优要在上下文菜单中看到(比如,“打开我的应用”)
  5. 在新的密钥,创建一个名为新密钥command
  6. 将此键设置到要执行任何命令行的(Default)值。您单击的文件的名称可以使用标记%1输入。因此,例如,您可以将该值设置为notepad.exe %1以在记事本中编辑可执行文件。

一个类似的模式也适用于其他类型的文件工作。

+0

谢谢。但这不完全是我的意思。我想实际执行点击的exe或msi文件并传递一个固定的字符串作为它的参数。因此,如果右键单击的文件是blah.exe,那么我想要执行blah.exe MYARG。这里是一个开放\命令项,这是“%1”%*,这似乎是我想要什么差不多,所以我把我的新条目“%1” MYARG但根据ProcessExplorer exe文件被不带任何参数执行。任何想法我的命令条目有什么问题? – appleton 2012-08-09 11:29:33

+0

据我所知,您的输入是正确的。你有没有试过这个与测试应用程序,看看有什么传递? – 2012-08-09 11:41:49

+0

对不起,我在Process Explorer中查看错误的exe文件! “%1”MYARG效果很好。谢谢。 – appleton 2012-08-09 11:57:10

0
Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.exe\shell\Copy Address\command] 
@="C:\\Windows\\CopyAddress.exe %1 " 

[HKEY_CLASSES_ROOT\.msi\shell\Copy Address\command] 
@="C:\\Windows\\CopyAddress.exe %1 " 

根据您的选择更改路径和菜单名称(CopyAddress)。