2013-08-01 3 views
2

Я пытаюсь добавить в контекстное меню файлы * .zip. Запустить мой скрипт python с необходимыми параметрами.Windows 7 - контекстное контекстное меню контекстного меню для 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" 

В меню появляется clickin на тех, кто не делает ничего Absolutly.

Я после этого учебника: http://msdn.microsoft.com/en-us/library/windows/desktop/hh127467%28v=vs.85%29.aspx

Существует что-то, что я не хватает, но, к сожалению, я не могу найти ответ, что. Не могли бы вы мне помочь?

ответ

8

Я просто следовал за этими шагами, и это, кажется, работает:

1) Сначала найдите .zip ключ под HKEY_CLASSES_ROOT.

2) Выберите его и посмотрите на его значение по умолчанию. В моем случае по умолчанию CompressedFolder:

enter image description here

3) Теперь прокладываете свой путь вниз к CompressedFolder\shell (или то, что было когда-либо под вашим умолчанию для .zip), который также содержится под HKEY_CLASSES_ROOT:

enter image description here

4) Щелкните правой кнопкой мыши на оболочке и добавьте новый ключ, в моем случае я добавил ключ с именем MyCommand. Добавьте подраздел к этому ключу command. MyCommand будет именем команды, которая появляется в контекстном меню.

enter image description here

5) Далее изменить значение (Deafult) вступления command подраздела для mycommand, добавив операцию, которую вы хотите выполнить. В моем случае я хочу, чтобы открыть файл питона, который говорит мне подробности о файле:

Это сценарий Python:

import os 
import sys 

def main(): 
    st = os.stat(sys.argv[1]) 
    print st 
    raw_input() 

if __name__ == '__main__': 
    main() 

И он находится в C: \ Информация.ру

И это запись я добавил к невыполнению:

python C:\\info.py %1

enter image description here

Это все есть на него, теперь, если вы щелкните правой кнопкой мыши на почтовый индекс, файл должны видеть команду вы добавили:

enter image description here

при щелчке дает:

enter image description here

Надежда это то, что вы где после. Если вы хотите добавить дополнительные команды, просто добавьте дополнительные подразделы под ключ shell, как и в случае с MyCommand.

ОБНОВЛЕНИЕ - Cascading МЕНЮ

а) Для того, чтобы добавить каскадное меню перейдите к ключу, указанному выше в пункте 3. В моем случае это CompressedFolder\shell, который находится под HKEY_CLASSES_ROOT. Как только здесь добавьте ключ с именем по вашему выбору, в моем случае я использовал CascadeMenu. Добавить 2 записи в этот ключ:

  • MUIVerb - это имя, которое появится для каскадного меню. В моем случае я использовал MyCascadeMenu
  • SubCommands - это список команд, разделенных точкой с запятой. Назовите команды, которые вам нравятся, в моем случае я использовал python.info. Используйте '|' между командами, если вы хотите разделитель, например command1;|;command2

enter image description here

б) Далее мы должны сказать, что окна на самом деле эта команда. Перейдите к: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell

После этого добавьте ключ с именем вашей команды. В моем случае ключ называется python.info. Задайте значение по умолчанию для ключа для имени, которое вы хотите отобразить в контекстном меню. В моем случае я использовал "File Info"

enter image description here

с) Теперь добавьте подраздел к вашей команде, называется command. Измените запись по умолчанию этой команды на команду, которую вы хотите выполнить. В моем случае я поставил его python C:\\info.py %1

enter image description here

г) Теперь мы закончили, щелкните правой кнопкой мыши на файле .zip, чтобы увидеть вновь созданный контекстное меню:

enter image description here

+0

Да, это работает, я получил его раньше. Но дело в том, что мне действительно нужно это как каскадное меню. Жаль, что я не могу дать скриншот здесь, потому что не помню мою старую учетную запись, и мне пришлось регистрироваться здесь на FB acccount. :( –

+0

Ok @KonradKnitter Я обновил ответ, чтобы сообщить вам, как создавать каскадные меню. Это то, что вы были после? – Hayden

Смежные вопросы