У меня есть значение HMODULE, которое равно: 00007FF695820000, и мне нужно, чтобы оно было 0x7FF695820000, но поскольку значение - это правильное шестнадцатеричное значение, преобразующее его в шестнадцатеричный, это делает его еще большим шестнадцатеричным значением.Как использовать HMODULE в качестве значения DWORD/Hex? (C++)
Кто-нибудь знает способ, я могу просто добавить 0x в начало или сделать мой ReadProcessMemory думать, что это шестнадцатеричное значение, а не десятичное значение.
Причина, по которой это переменная HMODULE, заключается в том, что я использую ее для получения базового адреса для Solitare.exe, но в настоящее время не может читать адреса из нее, потому что моя ReadProcessMemory просто преобразует ее в hex, поэтому читает неправильный адрес.
Как «преобразование его в шестнадцатеричный просто делает его еще большим шестнадцатеричным значением»? –
Это 64-битные номера, оставьте их. Рассматривайте их как 'void *' и 'HANDLE'. Покажите остальную часть кода. –
«Кто-нибудь знает, как я могу просто добавить 0x в начало» - вы уверены, что понимаете разницу между представлением и фактическим значением. Вы обрабатываете номер так, как будто он хранится в виде строки внутри памяти. Шестигранные и десятичные числа - это просто строчные ПРЕДСТАВЛЕНИЯ номеров. Число одинаковое. – sashoalm