Окно поиска JNA, но не сворачивание его - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь управлять внешним окном на Java с помощью JNA. Я хочу найти конкретное окно c, а затем свернуть его. Все окна, которые я пробовал, работали хорошо, кроме одного (очевидно, того, которое мне нужно). Его можно найти и установить на передний план, но его нельзя минимизировать программно. Я также пытался переместить его с помощью User32.INSTANCE.MoveWindow, но эта команда тоже не удалась. Мне было интересно, есть ли приложения, которые не позволяют манипулировать окнами JNA. Если да, то что мне делать? Мой код показан ниже.

    HWND test = User32.INSTANCE.FindWindow(null,"windowname");
    User32.INSTANCE.SetForegroundWindow(test);
    User32.INSTANCE.ShowWindow(test, WinUser.SW_MINIMIZE);

1 Ответ

0 голосов
/ 17 июня 2020

Из API для ShowWindow :

nCmdShow

Тип: int

Управляет тем, как должно отображаться окно. Этот параметр игнорируется при первом вызове приложением ShowWindow , если программа, запустившая приложение, предоставляет структуру STARTUPINFO. В противном случае при первом вызове ShowWindow значение должно быть значением, полученным функцией WinMain в ее параметре nCmdShow. В последующих вызовах этот параметр может быть одним из следующих значений.

Похоже, ваша команда минимизации может сработать, если вы вызовете ее второй раз.

...