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().


  • Mod

    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)


Anmelden zum Antworten