C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Работа с переменной из другого процесса
ZonD
Отправлено: 16.07.2005, 11:00


Ученик-кочегар

Группа: Участник
Сообщений: 7



Задачка вобщем заключается в том чтобы считывать/переписывать значение одной из переменных другого процесса, но я что-то никак не могу сообразить как это сделать. Было бы классно если кто-нибудь что-нибудь по этому поводу посоветовал.
Пока я только смог определить виртуальный адресс нужной переменной другого процесса, возникает вопрос как его изменить, ведь если я верно понимаю, то виртуальные пространства процессов изолированы и получить доступ к чужому пространству нельзя (или можно с помощью сообщений/каналов? — если да то как?) если это так то не понятно что делать дальше... хотя может быть можно чтобы виртуальная страница другого процесса проэцировалась на тоже дисковое пространство, что и страница "моего" процесса?

Заранее благодарю.
Георгий
Отправлено: 16.07.2005, 13:52


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



куски из рабочей программы
CODE
HANDLE hProcess;
HWND hWindow;
DWORD ProcessId,ProcessId2;
hWindow=FindWindow("TApplication","Crypttable");
ProcessId=GetWindowThreadProcessId(hWindow,&ProcessId2);
hProcess=OpenProcess(STANDARD_RIGHTS_REQUIRED|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,0,ProcessId2);
после чего можно использовать функции ReadProcessMemory и WriteProcessMemory

PS. некоторые функции не работают без прав админа

Отредактировано Георгий — 16/07/2005, 14:59

Вернуться в Вопросы программирования в C++Builder