Usei o codigo: #include <windows.h>
#include <iostream>
using namespace std;
int main()
{
LONG address = 0x0045720E;
int newvalue = 1;
HWND hwnd;
HANDLE phandle;
DWORD pid;
hwnd = FindWindow(NULL, "LanSchool Student");
if (hwnd != 0)
{
cout << "LanSchool found... PID: "<< pid << "\n";
GetWindowThreadProcessId(hwnd, &pid); // get the pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, 0, 1140);
}
else
{
cout << "LanSchool not found...\n";
Sleep(500);
main();
}
if(phandle != 0)
{
while(true)
{
WriteProcessMemory(phandle, (LPVOID)address, (LPVOID) &newvalue, 4, 0);
Sleep(500);
}
}
if(phandle == 0)
{
cout << "LanSchool Cannot be written...\n";
}
cin.get();
return 0;
} para abrir um processo e alterar um endereço da memoria. Porém, o OpenProcess() não abre o processo, retorna 0, só abre quando estabeleço privilegio de ler somente. Outra coisa, ele ão esta pegando o PID via nome da janela, ate porque não existe janela, queria algo pra pegar o pid via nome do processo.