Сделать свой собственный текстовый редактор на основе Java в качестве текстового редактора по умолчанию в Windows

Я сделал текстовый редактор на Java, и я хочу сделать его текстовым редактором по умолчанию. Подобно Windows, когда он по умолчанию блокнот в качестве редактора, и чей значок отображается на всех текстовых файлов и дважды щелкните эти файлы и открыть их в блокноте.

Я хочу достичь той же задачи, что и текстовый редактор по умолчанию. Щелчок правой кнопкой мыши по текстовому файлу и выбор моего текстового редактора в качестве приложения по умолчанию для открытия текстовых файлов не решает проблему, поскольку мой текстовый редактор не будет принимает входной файл. Это сделано, чтобы принять ввод файла только FileChooser.

есть ли библиотеки Java, чтобы решить эту задачу принятия входного файла, так?

23
задан KronoS
30.12.2022 2:54 Количество просмотров материала 3360
Распечатать страницу

2 ответа

Я сделал текстовый редактор ... хотите сделать его текстовым редактором по умолчанию..

развернуть его с помощью Java Web Start и объявить интерес к соответствующим типам файлов в файле запуска.

..принимает входной файл только FileChooser.

JWS предоставляет имя файла, представляющего интерес для main(String[]). Мы можем создать File из строки и взять его оттуда. Вот такой demo. по API jnlp в FileService, который объявляет интерес к .zzz формат файлов.

3
отвечен Andrew Thompson 2022-12-31 10:42

если вы не хотите использовать Java Web Start, как предложил Эндрю, и хотите узнать, как Windows обрабатывает приложения по умолчанию, вот краткое руководство:

когда вы "щелкните правой кнопкой мыши -> открыть с помощью..."и что-то установить в качестве приложения по умолчанию, значение реестра в HKEY_CLASSES_ROOT с именем " somefileextension_auto_file "и ключом" /shell/open/command " (so, HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command). Строковое значение по умолчанию этого ключа является командой оболочки, которая будет выполняться, когда файл somefileextension тип - двойной щелчок. Созданное по умолчанию значение выглядит примерно так:"c:\program files\somepath\test.exe" %1, где %1 будет переменной, содержащей полный путь к файлу, на который был сделан двойной щелчок.

если вы хотите программно сделать ваш файл jar приложением по умолчанию для определенного расширения файла, вам нужно будет создать раздел реестра в HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command со значением по умолчанию, подобным следующему:

java -jar c:\somewhere\yourJarFile.jar %1

и ваша программа должна была бы определить, когда командная строка аргумент был дан ему с помощью public static void main(String[] args) здесь args[1] будет путь к файлу, который был выбран. Если был указан аргумент командной строки, программа должна автоматически попытаться использовать его в качестве входного файла.

Примечание: это реально не стоит быть сделано вручную, как Java был разработан, чтобы быть кросс-платформенным и как таковые есть кросс-платформенные решения ( https://stackoverflow.com/tags/java-web-start/info) но, похоже, автор вопроса был интересует, как Windows на самом деле работает с приложениями по умолчанию. Может, Я помогу другому читателю. Кто знает.

3
отвечен Community 2022-12-31 12:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх