Как открыть приложение Windows на переднем плане из автономного приложения Java - PullRequest
0 голосов
/ 07 января 2019

Я хочу запустить приложение на основе Windows из кода Java, например:

Runtime rt = Runtime.getRuntime();

Process pr = rt.exec("C:\MyWindowsApplication.exe");

Это приложение запускается правильно, но, если хотите знать, как сделать так, чтобы MyWindowsApplication всегда открывалось на переднем плане из приложения Java

Я пытался с библиотекой jna получить номер PID процесса, а затем запустить VBScript с заданным номером PID, чтобы установить приложение Windows на переднем плане.

Ожидаемый результат: если я открою любое приложение на базе Windows из Java, приложение всегда должно открываться на переднем плане.

1 Ответ

0 голосов
/ 10 января 2019

Поскольку вы уже используете JNA, вы, вероятно, захотите использовать функцию SetForegroundWindow в классе User32 .

Вам понадобится дескриптор окна, чтобы использовать эту функцию. Вы можете использовать JNA WindowUtils.getAllWindows(), чтобы получить список, выполнить итерацию и сопоставить заголовок или filePath, а затем вызвать getHWND() в соответствующем окне.

...