POINT CursorPos; HWND hGameWnd; DWORD GamePID; DWORD stAddress=0x79962C; DWORD buffer; DWORD threadID; if(GetKeyState(0x47)>>1!=0){ GetCursorPos(&CursorPos); hGameWnd=WindowFromPoint(CursorPos); threadID=GetWindowThreadProcessId(hGameWnd,&GamePID); hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,FALSE,GamePID); gt_timer->Enabled=false; g_form->Enabled=true; ReadProcessMemory(hProcess,&stAddress,&buffer,0x4,NULL); pid->Text=IntToHex((int)buffer,8); } вот код который имееться и по неизвестной мне причине не правильно работает Под дебагером вродибы всё чётко...координаты мыши читает , хендл окна читает, процесс айди читает(правильно, проверил спаем++), но вот ОпенПроцес возвращает неверный хендл процесса(мне так кажеться) Есть идентичный код на асемблере всё работает просто олично!!! ни единой задоринки(его писал тоже я ПЕРЕД ЭТИМ) Если заюзать выдаваемый им хенд процесса то при считывании памяти процесса выдаёт неверные знаечения(проверено артмоней)!!! В чём проблема??? ХЕЛП!!!!!
Если убрать, то выдаёт ошибку!!! Может я не верно задал тип?? [C++ Error] Main.cpp(43): E2034 Cannot convert 'unsigned long' to 'const void *' [C++ Error] Main.cpp(43): E2342 Type mismatch in parameter 'lpBaseAddress' (wanted 'const void *', got 'unsigned long') [C++ Warning] Main.cpp(49): W8004 'threadID' is assigned a value that is never used [C++ Warning] Main.cpp(49): W8004 'stAddress' is assigned a value that is never used
ReadProcessMemory(hProcess,(void *)stAddress,&buffer,0x4,NULL); или void *stAddress=(void *)0x79962C;
Great Чёт вы гоните!!! Как учить язык если не писать на нём??? И вообще... вы ищите не ту ошибку!!! РидПроцес Требует указатель на ячейку с адресом для чтения!!! Что я ему и предоставил!!!
cppasm Спасибо ReadProcessMemory(hProcess,(void *)stAddress,&buffer,0x4,NULL); Так заработало... только объясни пожалуйста в чём была проблема??? Ведь я передавал указатель на ячейку с адресом... и вообще чем отличается void* X от &X....
devillsd И еще, выкинь борланд, поставь нормальный траслятор, gcc (mingw.org) или msvc (microsoft.com/express).