#include <windows.h> #include #pragma comment(lib,"psapi.lib") /* Cette fonction retourne le handle d'un processus à partir de son nom */ HANDLE GetProcessHandle( char* szprocessname) { DWORD dwprocessids[1024]; DWORD dwreturned; char szbuffer[MAX_PATH]; if(EnumProcesses(dwprocessids,1024,&dwreturned)) { DWORD i; HANDLE hProcess; HMODULE hmod; DWORD dwcount=dwreturned/sizeof(DWORD); for(i=0;i<dwcount;i++) { hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,0,dwprocessids[i]); if(hProcess) { if(EnumProcessModules(hProcess,&hmod,sizeof(HMODULE),&dwreturned)) { GetModuleBaseName(hProcess,hmod,szbuffer,MAX_PATH); if(!lstrcmpi(szbuffer,szprocessname))return hProcess; } CloseHandle(hProcess); } } } return NULL; } // Exemple d'utilisation: int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR szcmd, int ishow) { HANDLE hprocess = GetProcessHandle("notepad.exe"); if(hprocess) { //ajouter code ici CloseHandle(hprocess); } return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question