Как добавить контекстное меню в проводник Windows для приложения Java?

StackOverflow https://stackoverflow.com/questions/370114

Вопрос

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

Это было полезно?

Решение

Я знаю два способа сделать это.Причудливый способ - написать расширение оболочки 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 для создания контекстного меню проводника.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top