Как добавить контекстное меню в проводник Windows для приложения Java? - PullRequest
17 голосов
/ 16 декабря 2008

Как можно было бы добавить элемент подменю в контекстное меню проводника Windows (как, например, в 7-Zip) для приложения Java?

Ответы [ 2 ]

16 голосов
/ 16 декабря 2008

Я знаю два способа сделать это. Причудливый способ - написать расширение оболочки Windows, что, как я полагаю, делают Powerarchiver, Winzip и т. Д. (Это подразумевает запуск кода для определения того, какие элементы контекстного меню будут зависеть от выбранного файла).

Простой способ для простой функциональности - добавить запись в реестр:

HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command

Где <file type> - это файлы, к которым должно применяться это контекстное меню, т.е. *, .mdb, .doc

и

<display text> что вы хотите показать в контекстном меню.

Затем добавьте строку по умолчанию в качестве пути к приложению, которое вы хотите запустить, из контекстного меню, и вы можете использовать% 1 для ссылки на текущий выбранный файл, т. Е. Для MS Access, который я использую:

HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"

Затем добавляется пункт контекстного меню для любого выбранного мной файла (отсюда *), что позволяет мне запускать его в MS Access 2000.

Конечно, всегда делайте резервную копию реестра, прежде чем взламывать его.

Ваша программа может сделать это во время установки или при первом запуске.

4 голосов
/ 10 июля 2011

Вы также можете упаковать Java-программу в установщик, такой как NSIS, и использовать сценарий NSIS для создания контекстного меню проводника

...