Как можно было бы добавить элемент подменю в контекстное меню проводника Windows (как, например, 7-Zip) для приложения Java?
Как добавить контекстное меню в проводник Windows для приложения Java?
Ответы (2)
Я знаю два способа сделать это. Замечательный способ - написать расширение оболочки 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.
Конечно, всегда делайте резервную копию реестра, прежде чем взламывать его.
Ваша программа может сделать это во время установки или при первом запуске.
Вы также можете упаковать Java-программу в установщик, такой как NSIS, и вы можете использовать скрипт NSIS для создания контекстного меню проводника.