I don't get the point why everyone uses functions like write_uint etc
Templates aren't that hard to use. Here a snippet from my library:
Code:
template <typename R>
R readMemory(DWORD_PTR address) const
{
DWORD bytesRead;
R returnedBytes;
int ec = ReadProcessMemory( this->processHandle_,
reinterpret_cast<LPVOID>(address),
reinterpret_cast<LPVOID>(&returnedBytes),
sizeof(R),
&bytesRead
);
if(!ec || bytesRead != sizeof(R))
throw WinException("ReadProcessMemory()", "readMemory()", GetLastError());
return returnedBytes;
}
template <typename W>
DWORD writeMemory(DWORD_PTR address, W value) const
{
DWORD bytesWritten;
int ec = WriteProcessMemory( this->processHandle_,
reinterpret_cast<LPVOID>(address),
reinterpret_cast<LPVOID>(&value),
sizeof(W),
&bytesWritten
);
if(!ec || bytesWritten != sizeof(W))
throw WinException("WriteProcessMemory()", "writeMemory()", GetLastError());
return bytesWritten;
}
Maybe you wanna use that