OldSchoolHack

Register / Login English

C++ Informationen über ein HANDLE


icon C++ Informationen über ein HANDLE #1

Join Date: Dec 2008

Posts: 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

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
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

Join Date: Dec 2008

Posts: 23

Jo danke dir, das hat geholfen.