2016-05-04 1 views
0

Мне интересно, возможно ли каким-то образом переместить другое окно на экран в другое место с помощью Java?Может ли Java контролировать положение окон из других программ?

Пример: Я хотел бы переместить это окно в отмеченное место. example

+0

Наверное, нет. Если бы это было возможно, это было бы четкой проблемой безопасности. – fge

+0

Итак, с учетом функции ['SetWindowPos'] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms633545 (v = vs.85) .aspx) из WinAPI и что-то вроде [ этот пример JNA] (http://stackoverflow.com/questions/6091531/how-to-get-the-x-and-y-of-a-program-window-in-java/6091597#6091597), я бы например, да – MadProgrammer

+0

[JNA] (https://github.com/java-native-access/jna) предоставляет ['User32 # SetWindowPos'] (http://java-native-access.github.io/jna /4.2.1/com/sun/jna/platform/win32/User32.html#SetWindowPos-com.sun.jna.platform.win32.WinDef.HWND-com.sun.jna.platform.win32.WinDef.HWND-int -int-int-int-int-) – MadProgrammer

ответ

0

Взаимодействие с другими программами обычно допускается только с доступом суперпользователя (root). Если вы не против выполнения своей программы как root, есть возможности, но они, конечно же, не являются кросс-платформенными, поэтому вам придется писать версию для каждой ОС. Я бы не использовал java для таких вещей.

Кроме того, ответ об использовании Windows API не будет работать, поскольку вы не сможете получить дескриптор окна другого процесса. Просто проверьте документацию:

SetWindowPos Изменения размера, положения и Z порядка ребенка, всплывающего окна или окна верхнего уровня.

API Java не поможет вам здесь.

Смежные вопросы