Лучший метод для приложения Java для доступа к процессу Windows и отправки команд - PullRequest
1 голос
/ 02 апреля 2009

В основном я пытаюсь управлять приложением win32 (нажать кнопку, добавить материал в текстовое поле) и т. Д. Из приложения java.

Какой лучший способ попытаться это сделать (т. Е. Есть ли какие-либо наборы инструментов, DDE?), Или мне придется попытаться сделать что-то вроде FindWindowEx, а затем отправить WM_LBUTTONDOWN или что-то еще?

Приветствия

Ответы [ 2 ]

1 голос
/ 02 апреля 2009

Использование робота Java. Класс java.awt.robot. Он отлично работает для управления другими приложениями. Смотрите здесь:

http://java.sun.com/javase/6/docs/api/java/awt/Robot.html

Я фактически использовал это для автоматизации входа в World of Warcraft, когда много играл. На сервере, на котором я играл, почти всегда была очередь входа, на прохождение которой уходило около 30 минут. Итак, я запустил планировщик Windows моей программы Robot около 4:45 вечера. Это отправит комбинацию клавиш в Windows для запуска WoW. Затем он приостановился на некоторое время, затем отправил бы нажатия клавиш, чтобы ввести мой пароль и войти в систему. Когда я вернусь с работы домой, я буду готов играть, не ожидая в очереди.

1 голос
/ 02 апреля 2009

Кажется, что это инкапсулировано внутри проекта jna из проектов java.net:

https://github.com/twall/jna

Ну, в любом случае, это одна возможность.

В одном примере показано несколько импортов, которые выглядят так, как будто они могут быть вам полезны:

import com.sun.jna.examples.win32.GDI32;
import com.sun.jna.examples.win32.User32;
import com.sun.jna.examples.win32.GDI32.BITMAPINFO;
import com.sun.jna.examples.win32.User32.BLENDFUNCTION;
import com.sun.jna.examples.win32.User32.POINT;
import com.sun.jna.examples.win32.User32.SIZE;
import com.sun.jna.examples.win32.W32API.HANDLE;
import com.sun.jna.examples.win32.W32API.HBITMAP;
import com.sun.jna.examples.win32.W32API.HDC;
import com.sun.jna.examples.win32.W32API.HRGN;
import com.sun.jna.examples.win32.W32API.HWND;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...