我正在尝试添加* .zip文件的上下文菜单。使用nessesary参数启动我的python脚本。
我已添加注册以下键:
[HKEY_CLASSES_ROOT\WinZip\shell\SSSeracher] "MUIVerb"="SSSearcher Script" "SubCommands"="SSSearcher.Rule1;SSSearcher.Rule2;SSSearcher.Rule3;SSSearcher.Custom;SSSearcher.Config"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule1] @="Rule #1"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule1\command] @="C:\\APPS\\python\\Scripts\\sssearcher.py \"%1\" \"1\""
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule2] @="Rule #2"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule2\command] @="C:\\APPS\\python\\Scripts\\sssearcher.py \"%1\" \"2\""
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule3] @="Rule #3"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Rule3\command] @="C:\\APPS\\python\\Scripts\\sssearcher.py \"%1\" \"3\""
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Custom] @="Custom rule"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Custom\command] @="C:\\APPS\\python\\Scripts\\sssearcher.py \"%1\" \"4\""
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Custom] @="Custom rule"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Custom\command] @="C:\\APPS\\python\\Scripts\\sssearcher.py \"%1\" \"4\""
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Config] @="Config File"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SSSearcher.Config\command] @="vim C:\\APPS\\python\\Scripts\\sssearcher.pyc"
当菜单显示点击那些绝对没有。
我一直在关注本教程: http://msdn.microsoft.com/en-us/library/windows/desktop/hh127467%28v=vs.85%29.aspx
我遗失了一些东西,但不幸的是我找不到答案。你能帮帮我吗?
答案 0 :(得分:8)
我刚刚按照这些步骤进行操作:
1)首先在.zip
下找到HKEY_CLASSES_ROOT
密钥。
2)选择它并查看其默认值。在我的情况下,默认值为CompressedFolder
:
3)现在向下导航到CompressedFolder\shell
(或者默认为.zip的内容),它也包含在HKEY_CLASSES_ROOT
下:
4)右键单击shell并添加一个新密钥,在我的情况下,我添加了一个名为MyCommand
的密钥。在此密钥中添加一个名为command
的子项。 MyCommand
将是上下文菜单中显示的命令的名称。
5)接下来编辑(Deafult)
的{{1}}子项command
条目的值,添加您想要执行的操作。在我的情况下,我想打开一个python文件,告诉我有关该文件的详细信息:
这是python脚本:
mycommand
它位于C:\ info.py
这是我添加到默认值的条目:
import os
import sys
def main():
st = os.stat(sys.argv[1])
print st
raw_input()
if __name__ == '__main__':
main()
这就是它的全部内容,现在如果您右键单击一个zip文件,您应该会看到您添加的命令:
单击时会显示:
希望这就是你所追求的。如果您想添加更多命令,那么只需在python C:\\info.py %1
密钥下添加更多子密钥,就像我们使用shell
一样。
更新 - 级联菜单
a)为了添加级联菜单,请导航到上面步骤3中所述的键。在我的情况下,这是MyCommand
,它位于HKEY_CLASSES_ROOT下。在这里添加一个带有您选择名称的密钥,在我的情况下,我使用了CompressedFolder\shell
。在此密钥中添加2个条目:
CascadeMenu
- 这是为级联菜单显示的名称。就我而言,我使用了MUIVerb
MyCascadeMenu
- 这是一个以分号分隔的命令列表。根据您的喜好命名命令,在我的例子中,我使用了SubCommands
。使用'|'如果您需要分隔符,请在命令之间进行,例如python.info
b)接下来我们需要告诉windows这个命令实际上做了什么。导航至:command1;|;command2
在这里添加一个带有命令名称的密钥。在我的情况下,密钥称为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell
。将键的默认值设置为要在上下文菜单中显示的名称。就我而言,我使用了python.info
c)现在在命令中添加一个名为"File Info"
的子项。将此命令的默认条目更改为您要执行的命令。在我的情况下,我已将其设置为command
d)我们现在完成了,右键单击.zip文件以查看新创建的上下文菜单: