通過進程名獲取進程的工作目錄

Code:
  1. #include <stdio.h>   
  2. #include <windows.h>   
  3. #include "PSAPI.H"   
  4. #pragma comment( lib, "PSAPI.LIB" )   
  5. int main(void)   
  6. {   
  7. DWORD processid[1024],needed,processcount,i;   
  8. HANDLE hProcess;   
  9. HMODULE hModule;   
  10. char path[MAX_PATH] = "",temp[256];   
  11. printf("ShowProcessPath with [Process Status API]/n/n");   
  12. EnumProcesses(processid, sizeof(processid), &needed);   
  13. processcount=needed/sizeof(DWORD);   
  14. for (i=0;i<processcount;i++)   
  15. {   
  16. hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,false,processid[i]);   
  17. if (hProcess)   
  18. {   
  19. EnumProcessModules(hProcess, &hModule, sizeof(hModule), &needed);   
  20. GetModuleFileNameEx(hProcess, hModule, path, sizeof(path));   
  21. GetShortPathName(path,path,256);   
  22. itoa(processid[i],temp,10);   
  23. printf("%s --- %s/n",path,temp);   
  24. }   
  25. else  
  26. printf("Failed!!!/n");   
  27. }   
  28. CloseHandle(hProcess);   
  29. CloseHandle(hModule);   
  30. itoa(processcount,temp,10);   
  31. printf("/nProcess Count:%s/n/n",temp);   
  32. return 0;   
  33. }   
  34.   
  35. --------------------------------------------------------------------------------   
  36.   

psapi下載:http://down.cnzz.cn/Info/60358.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章