void OpenProc ( std :: string strProcName ) { HANDLE hSnapProcess = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS , 0 ) ; PROCESSENTRY32 pe32 ; if ( Process32First ( hSnapProcess , & pe32 ) ) { while ( Process32Next ( hSnapProcess , & pe32 ) ) { if ( ! strcmp ( strProcName . c_str ( ) , pe32 . szExeFile ) ) // ошибка указывает на эту строку на pe32 { hProc = OpenProcess ( PROCESS_ALL_ACCESS , FALSE , pe32 . th32ProcessID ) ; return ; } } } }
void OpenProc ( std :: wstring strProcName ) { HANDLE hSnapProcess = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS , 0 ) ; PROCESSENTRY32 pe32 ; if ( Process32First ( hSnapProcess , & pe32 ) ) { while ( Process32Next ( hSnapProcess , & pe32 ) ) { if ( strProcName == pe32 . szExeFile ) { hProc = OpenProcess ( PROCESS_ALL_ACCESS , FALSE , pe32 . th32ProcessID ) ; return ; } } } }
while ( ! hProc ) { printf ( "Ожидание процесса...\n" ) ; OpenProc ( "gta_sa.exe" ) ; // тут ошибка Sleep ( 1000 ) ; }
OpenProc(L"gta_sa.exe");