Поймать системное событие закрытия редактора по умолчанию в Java - PullRequest
0 голосов
/ 03 марта 2011

У меня есть программа для Windows со следующим потоком:

generated config file -> user edits config file -> use config file

В идеале я хочу запустить системный редактор по умолчанию для данного типа / расширения файла (.cfg, .ini, .txt), что можно сделать с помощью java.awt.Desktop.edit().

Но поскольку программа продолжает выполнение после запуска редактора, я понятия не имею, как проверить, действительно ли пользователь снова закрыл редактор :\

Я видел, как это делается в многочисленных приложениях, хотя в большинстве случаев в Linux и, возможно, не в Java.

Кроме того, поскольку пользователи "глупы", настройка редактора по умолчанию из моего приложения слишком сложна. Может быть приемлемо использовать стандартную программу, например, Блокнот, который почти всегда устанавливается на компьютерах с Windows.

1 Ответ

2 голосов
/ 03 марта 2011

Только что разобрался с блокнотом - дох!это было совершенно очевидно:)

Использование Runtime.exec() и Process.waitFor():

Process p = Runtime.getRuntime.exec("notepad " + filename);
p.waitFor();
...