DWORD idproc = 0;
HANDLE hproc = 0;
GetWindowThreadProcessId(wnd, &idproc);
hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, idproc);
WriteProcessMemory(hproc, ptr, addr, size, NULL);
Mam funkcję jak powyżej. Gdy jest uruchamiana ze środowiska vc++ 2010 to wszystkie 3 funkcje wywoływane są z powodzeniem.
Gdy program uruchamiam bez środowiska visuala to tylko GetWindowThreadProcessId jest poprawna, OpenProcess zwraca NULL.
Gdy PROCESS_ALL_ACCESS zmienię na PROCESS_VM_WRITE to OpenProcess zwraca uchwyt ale WriteProcessMemory zwraca FALSE i to w obu sposobach uruchomienia. Uruchomienie programu z prawami administratora nic nie daje.
Może ktoś wie jak rozwiązać problem.