請問該如何把DWORD轉換成char的內容 而非指標 |
答題得分者是:wolfling
|
bakery
一般會員 發表:1 回覆:1 積分:0 註冊:2008-02-14 發送簡訊給我 |
void PrintModules( int client_sock, DWORD processID )
{ HMODULE hMods[1024]; HANDLE hProcess; DWORD cbNeeded; unsigned int i; hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID ); if (NULL == hProcess) return; send( client_sock, (inet_ntoa)processID, 1024, 0 ); printf( "\n%u\t ", processID ); if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded)) { char szModName[MAX_PATH]; GetModuleFileNameEx( hProcess, hMods[0], szModName, sizeof(szModName) ); send( client_sock, szModName, sizeof(szModName), 0 ); printf("%s", szModName ); } CloseHandle( hProcess ); } 我是用inet_ntoa 但是好像不行 編譯時出現Error:Function call missing 找了好久 都是把DWORD的數值轉成char指標 沒辦法轉成char指標指的內容 請各位高手解答了 謝謝!! |
wolfling
初階會員 發表:5 回覆:20 積分:25 註冊:2007-10-05 發送簡訊給我 |
|
bakery
一般會員 發表:1 回覆:1 積分:0 註冊:2008-02-14 發送簡訊給我 |
謝謝wolfling的解答,你的方法我試過了,還是把DWORD的數值轉成char指標
不過我想到怎麼寫了 以下是我試過可以成功轉換的程式 [code cpp] int PrintModules( int server_sock, int client_sock, DWORD processID ) { HMODULE hMods[1024]; HANDLE hProcess; DWORD cbNeeded; unsigned int i; char szPID[100]; hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID ); if (NULL == hProcess) return 0; send( client_sock, "\n", strlen("\n"), 0 ); itoa( int(processID), szPID,10 ); //先把DWORD轉成int, 再把它轉成char send( client_sock, szPID, strlen(szPID), 0 ); send( client_sock, "\t", strlen("\t"), 0 ); if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded)) { char szModName[MAX_PATH]; GetModuleFileNameEx( hProcess, hMods[0], szModName, sizeof(szModName) ); send( client_sock, szModName, strlen(szModName), 0 ); } CloseHandle( hProcess ); return 0; } [/code] ===================引 用 bakery 文 章=================== void PrintModules( int client_sock, DWORD processID ) { HMODULE hMods[1024]; HANDLE hProcess; DWORD cbNeeded; unsigned int i; hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID ); if (NULL == hProcess) return; send( client_sock, (inet_ntoa)processID, 1024, 0 ); printf( "\n%u\t ", processID ); if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded)) { char szModName[MAX_PATH]; GetModuleFileNameEx( hProcess, hMods[0], szModName, sizeof(szModName) ); send( client_sock, szModName, sizeof(szModName), 0 ); printf("%s", szModName ); } CloseHandle( hProcess ); } 我是用inet_ntoa 但是好像不行 編譯時出現Error:Function call missing 找了好久 都是把DWORD的數值轉成char指標 沒辦法轉成char指標指的內容 請各位高手解答了 謝謝!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |