Handle eines Fensters in ListView anzeigen
-
Hallo!
Ich habe eine ListView und möchte, dass bei jedem Klick auf ein Fenster das Handle des Fensters in die ListView hinzugefügt wird.
Ich habe dafür unter anderem schon diesen Code:case WM_LBUTTONDOWN: { HWND pHandle; POINT pt; LPWSTR lpszFileName; UINT cchFileNameMax; GetCursorPos(&pt); pHandle = WindowFromPoint(pt); GetWindowModuleFileName(pHandle, lpszFileName, cchFileNameMax); LvItem.cchTextMax = 256; LvItem.iItem=0; LvItem.iSubItem=0; LvItem.pszText = lpszFileName; SendMessage(hList,LVM_INSERTITEM,0,(LPARAM)&LvItem); return(TRUE); }Allerdings gibt er mir 'Eine Ausnahme (erste Chance) bei 0x7c9125dc in Win32Proj.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00040846 aus' .. (Wobei die Werte natürlich immer anders sind..)
Kann mir irgendwer helfen oder bin ich grad auf dem völlig falschem Weg?
mfg
-
Du übergibst nicht wirklcih einen Puffer an GetWindowModuleFileName().
-
In anderen Worten: Wie hast Du lpszFileName initailisiert?
-
Danke für die Hilfe! Hatte ich völlig übersehen..Manchmal hab ich auch ein Brett vor Augen..

Jetzt funktioniert es!
Sieht jetzt also so aus:HWND pHandle; POINT pt; TCHAR buffer[256]; GetCursorPos(&pt); pHandle = WindowFromPoint(pt); GetWindowModuleFileName(pHandle, buffer, 256); LvItem.pszText = buffer; SendMessage(hList,LVM_INSERTITEM,0,(LPARAM)&LvItem); return (TRUE);Für alle die es auch machen wollen --> LvItem-Paramter nicht vergessen!
Ich möchte das Programm nun so erweitern, dass ich das mit jedem Programm machen kann..
Sprich: ListView soll im Hintergrund laufen und jeden Klick abfangen und hinzufügen..Scheint wohl ein etwas umfangreicheres Thema zu sein so wie ich das mitbekommen hab..(Mit den Hooks und so)