Цитата:
Сообщение от Alegun
А вот это (см. прикреплённый архив) снимает блокировку с процесса? Если не снимает, то подключение тогда вообще не возможно.
|
Это не заработало на win7(64).
Немного подробностей по проблеме
читаю процесс так
Код:
procedure TForm2.ConnectGame;
var
WndHndl: THandle;
PID, BytesCount, ipbuf: size_t;
begin
WndHndl := findwindow('ArmA 2 OA', nil);
GetWindowThreadProcessId(WndHndl, @PID);
hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ or
PROCESS_VM_OPERATION, False, PID);
if hProcess = 0 then
begin
BitBtn1.Caption := ('error');
BitBtn1.Font.Color := clRed;
end
else
begin
BitBtn1.Caption := ('connected');
BitBtn1.Font.Color := clGreen;
end;
if hProcess <> 0 then
try
До 8-й строки, включительно, все вроде бы хорошо.
Девятая возвращает 0.
Это происходит именно когда срабатывает блокировка на открытие/чтение процесса, потому что если ее обойти (есть временный вариант), то все работает.