BYTE* zu unsigned in HEX
-
Hallo ich habe eine Variable
BYTE *ShowAddr;
und möchte dessen Wert in einen unsigned int übergeben aber in Hexadezimal.
-
Werds wohl mit stringstream machen:
int eingabe
stringstream Str;Str << hex << eingabe; //umwandeln der Zahl in einen String im hex format
-
cout << hex << (unsigned)ShowAddr;
Ergibt: 50370000
Str << hex << (unsigned)ShowAddr;
Ergibt: 0x28fc3c
-
Ich nehme an, Du bist im falschen Unterforum. Hier ist C++/CLI, eine .NET Sprache, nicht C++.
Zeige hier ein komplettes Beispiel-Programm, welches kompilier-, link- und ausführbar ist. So kann dir am besten geholfen werden. Z.B. ist bei dem gezeigten Code nicht klar wie du mit dem
std::stringstream
zum Ergebnis0x28fc3c
kommst - wo und wie wird es ausgegeben?Ausserdem hast du keine Frage gestellt, sondern nur zwei Ergebnisse präsentiert - möchtest du wissen, warum sie unterschiedlich sind?
-
Bei Fenstertitel einfach "Module Leser" eingeben.
Ätzenderweise ist auf "Str" nicht die Gleiche Zahl wie vorher ausgegeben.#include <iostream> #include <windows.h> #include <tlhelp32.h> #include <sstream> using namespace std; int main() { SetConsoleTitle("Module Leser"); DWORD dwProcessId; string strTitel; MODULEENTRY32 lpModuleEntry; HWND hWnd; stringstream Str; unsigned int BASIS_HIER; while(1){ do{ cout << "Fenstertitel: "; getline(cin, strTitel); hWnd = FindWindow(0, strTitel.c_str()); }while(!hWnd); cout << endl; GetWindowThreadProcessId(hWnd, &dwProcessId); HANDLE hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId); HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId); if(!hSnapShot||!hproc) return 0; lpModuleEntry.dwSize = sizeof(lpModuleEntry); BOOL bModule = Module32First(hSnapShot, &lpModuleEntry); while(bModule) { cout << lpModuleEntry.szModule << "\t\t" << hex << (DWORD)lpModuleEntry.modBaseAddr << endl; if(lpModuleEntry.szModule == "kernel32.dll") Str << hex << (unsigned)lpModuleEntry.modBaseAddr; bModule = Module32Next(hSnapShot, &lpModuleEntry); } CloseHandle(hSnapShot); cout << endl << Str << endl << endl; } }
-
Ok, habs ins richtige Forum gepostet. Der Thread hier kann geschlossen werden.