OldSchoolHack

Registrieren / Anmelden Deutsch

C++ Informationen über ein HANDLE


icon C++ Informationen über ein HANDLE #1

Anmeldungsdatum: Dez 2008

Beiträge: 23

Hi,

Mein Problem ist das ich ein Fenster Handle haben möchte aber den Fenstertitel nicht kenne.

Jetzt habe ich mir bereits alle PID's über EnumProcesses auflisten lassen, gibt es eine Möglichkeit den Namen der .exe Datei über ein HANDLE zu ermitteln ?

etwa so:

TEXT Code:
  1. winHandle = OpenProcess (PROCESS_ALL_ACCESS,false,dwProcId);
  2. sName = GetProcessName (winHandle);

Es gibt natürlich noch die Möglichkeit über EnumWindows aber da komme ich mit der CallBack Funktion nicht klar :/

Kann mir da jemand weiterhelfen ?

icon #2

Anmeldungsdatum: Aug 2007

Beiträge: 8643

Benutzer-Bewertung:

199 positiv
33 negativ
welchen Namen möchtest du jetzt wissen? "den Namen der .exe"? Also blabla.exe? Oder den Fenstertitel des Programms?

Wenn du die ProcessID hast, dann kannste die in der CALLBACK Funktion benutzen, um das passende HWND zu finden.

TEXT Code:
  1. HWND gesuchteshandle = NULL;
  2. char gesuchterfenstername[256];
  3. DWORD processID;
  4.  
  5. BOOL CALLBACK ShowAllWindows(HWND hwnd, LPARAM lParam)
  6. {
  7. DWORD tempid;
  8. GetWindowThreadProcessId(hwnd,&tempid);
  9. if(tempid == processID)
  10. {
  11. gesuchteshandle = hwnd;
  12. GetWindowText(hwnd,gesuchterfenstername,255);
  13. return false;
  14. }
  15. return true;
  16. }
  17.  
  18. //nachdem du die ProcessID hast, rufst du dann die CALLBACK Funktion so auf:
  19.  
  20. EnumWindows((WNDENUMPROC)ShowAllWindows,0);

ich hoffe mal das konnte helfen.

greetz KN4CK3R

__________________

Hallo
icon #3

Anmeldungsdatum: Dez 2008

Beiträge: 23

Jo danke dir, das hat geholfen.