Получение объектов GUI из другого процесса - PullRequest
0 голосов
/ 25 марта 2012

Я хочу получить объект GUI, чтобы я мог читать и изменять их объект. Прямо сейчас единственный способ, которым я могу придумать, - это с помощью инъекции (где инъекция выполняет большую часть извлечения данных и отправляет обратно то, что я хочу). Моя проблема с инъекцией состоит в том, что я не могу легко отладить ее, и требуется много времени, чтобы понять, что делать.

Я могу найти дескриптор объекта GUI, поэтому есть способ, которым я могу использовать ReadProcessMemory () или что-то в этом роде, чтобы я мог читать память в другом процессе и из этого встроить ее в нужный мне объект GUI

1 Ответ

2 голосов
/ 25 марта 2012

Предполагая, что у вас есть соответствующие разрешения и есть какой-то способ получить дескриптор окна (HWND) определенного объекта графического интерфейса (см. FindWindow()), вы можете вызывать обычные функции Win32 API, такие какSetWindowText() для изменения содержимого этих объектов GUI.

Однако это может нарушить логику другого процесса! Если процесс, владеющий объектом GUI,кэшировал некоторую информацию, и вы изменяете источник за его спиной, вы можете не получить желаемого эффекта.

...