SubItems von ListView werden nur Teilweise erstellt



  • Hi Leute,

    ich habe ein Problem mit den SubItems meiner ListView.

    Hier mal mein Code:

    for(int item_count = 0; retval;item_count++) 
    	{		
    		LVITEM lvI[3];
    		char TempChar[64];
    		memset(&lvI,0,sizeof(lvI));
    
    		retval = Process32Next(thSnapShot, &pe); 
    
    		lvI[0].mask = LVIF_TEXT;
    		lvI[0].pszText = pe.szExeFile;
    		lvI[0].iItem = item_count;
            SendMessage(hProcessList,LVM_INSERTITEM,0,(LPARAM)&lvI[0]);
    
    		sprintf_s(TempChar, "%d",pe.cntThreads);
    		lvI[1].mask = LVIF_TEXT;
    		lvI[1].iSubItem = 1;
    		lvI[1].pszText = TempChar;
    		SendMessage(hProcessList,LVM_SETITEM,0,(LPARAM)&lvI[1]);
    
    		sprintf_s(TempChar, "%d",pe.th32ProcessID);
    		lvI[2].mask = LVIF_TEXT;
    		lvI[2].iSubItem = 2;
    		lvI[2].pszText = "Test";
    		SendMessage(hProcessList,LVM_SETITEM,0,(LPARAM)&lvI[2]);
    	}
    

    Ich möchte damit alle laufenden Prozesse anzeigen und dazu ein paar Informationen ausgeben.

    Doch leider werden nicht zu allen Prozessen SubItems angelegt.
    Hier mal ein Screenshot meines Ergebnis:
    http://oi43.tinypic.com/23mlz4w.jpg

    Die ListView erstelle ich so:

    hProcessList =CreateWindow(WC_LISTVIEW,"",
                               WS_CHILD | LVS_REPORT | WS_VISIBLE | LVS_SINGLESEL | LVS_EX_HEADERDRAGDROP,
    			               0, 0, 300, 453,
    	                       hWnd, (HMENU)ID_INJECTOR_PROCESSLIST, g_hInstance, NULL);
    

    ich verstehe nicht ganz, wie das zustande kommt.
    Ich hoffe, einer von euch kann mir weiterhelfen.

    Mit freundlichem Gruß
    xXSlayerXx


  • Mod

    1. Du solltest den Wert für das Item nehmen den LVM_INSERTTEM liefert!
    2. Wenn Du .iItem für die Subitems nicht setzt wird das wohl nichts werden können.


Anmelden zum Antworten