|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2007
Messaggi: 9
|
Trovare nome eseguibile da handle a finestra
Ho visto ke per trovare a partire da un handle di una finestra il nome dell'eseguibile ke l'ha creata bisogna usare le funzioni della libreria psapi...
Il problema è ke la libreria nn è inclusa in windows e nn so come fare ad includerla(uso vc++ 6.0).....Potete dirmi come fare a includerla nel progetto?Una volta inclusa il mio programma è portabile oppure necessita ke la libreria sia presente sui pc dove eseguo il programma?Ma soprattuto Psapi è l'unico modo per trovare il nome dell'eseguibile avendo l'handle di una finestra(tipo ricavato da EnumWindows)?Grazie..... |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
#define STRICT #include <windows.h> #include <psapi.h> BOOL GetExeFromWindow (HWND hWnd, LPSTR lpszFileName, DWORD dwSize) { DWORD dwProcessId, dwModules, dwRet; HANDLE hProcess; HMODULE hModule; if (hWnd == NULL || GetWindowThreadProcessId (hWnd, &dwProcessId) == 0) return FALSE; hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, dwProcessId); if (hProcess == NULL) return FALSE; if (EnumProcessModules (hProcess, &hModule, sizeof (hModule), &dwModules) == FALSE) { CloseHandle (hProcess); return FALSE; } dwRet = GetModuleFileNameEx (hProcess, hModule, lpszFileName, dwSize); CloseHandle (hProcess); return dwRet > 0; } La libreria PSAPI, se non sbaglio, è utilizzabile solo da NT 4 in poi. Comunque vedere <qui> su MSDN. Per poter avere informazioni sui processi anche sui Win 9x, c'è da usare la libreria "Tool Help".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2007
Messaggi: 9
|
Ma per includere psapi.dll nel progetto mi dovrebbe serivire il .lib e il .h ma dove li trovo?Ci sono in qualke cartella di windows oppure li posso scaricare da qualke parte?
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Poi basta andare nelle proprietà del progetto e nella sezione dedicata al Linker specificare come input la libreria psapi.lib.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:03.