Управление окнами из других приложений в Java - PullRequest
1 голос
/ 02 августа 2010

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

И, в связи с моим первым вопросом, возможно ли получить список всех текущих окон?

И последний вопрос: подходит ли Java для этой задачи или мне стоит взглянуть на C #?

1 Ответ

2 голосов
/ 02 августа 2010

Во-первых: Java, вероятно, не самый подходящий язык для этой задачи.Вам нужно вызвать собственный API Windows, так что C / C ++ будет естественным подгонкой.Вы можете использовать Java с JNI, но это, вероятно, не стоит хлопот.Я не знаю о C # / Managed C ++, поэтому не могу что-то сказать об этом.

Получение списка текущих окон: http://support.microsoft.com/kb/183009

Изменение положения окна:
SetWindowPos
SetWindowPlacement

Вам также может понадобиться получать информацию при каждом изменении окна.Посмотрите, например, SetWindowsHookEx, особенно CBTHook.

Редактировать: В прошлый раз, когда я пытался, мне всегда разрешалось менять окна других процессов.Если это больше не разрешено в Windows7, вы всегда можете установить глобальный хук и изменить окна изнутри процесса ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...