How can I list processes in a treeview i can do it with list boxes but not with treeview can anyone hep me please
Code:
#include <windows.h>
#include <Tlhelp32.h>
#include <commctrl.h>

LRESULT CALLBACK PencereProseduru (HWND, UINT, WPARAM, LPARAM);


char YapiSinifAdi[ ] = "WindowsUygulamasi";
HWND Dugme1Tutmaci, Durgun1Tutmaci, LKutu1Tutmaci, Agac1Tutmaci;

int WINAPI WinMain (HINSTANCE AnaFonksiyonTutmaci, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
    HWND AnaPencereTutmaci;           
    MSG Mesajlar;                     
    WNDCLASSEX PencereYapisi;   

    PencereYapisi.hInstance = AnaFonksiyonTutmaci;
    PencereYapisi.lpszClassName = YapiSinifAdi;
    PencereYapisi.lpfnWndProc = PencereProseduru;      
    PencereYapisi.style = CS_DBLCLKS;                 
    PencereYapisi.cbSize = sizeof (WNDCLASSEX);

    PencereYapisi.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    PencereYapisi.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    PencereYapisi.hCursor = LoadCursor (NULL, IDC_ARROW);
    PencereYapisi.lpszMenuName = NULL;             
    PencereYapisi.cbClsExtra = 0;                
    PencereYapisi.cbWndExtra = 0;            
    
    PencereYapisi.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (!RegisterClassEx (&PencereYapisi))
        return 0;

    AnaPencereTutmaci = CreateWindowEx (
           0,                   
           YapiSinifAdi,       
           "Motor", 
           WS_OVERLAPPEDWINDOW, 
           CW_USEDEFAULT,      
           CW_USEDEFAULT,      
           800,                 
           600,                 
           HWND_DESKTOP,        
           NULL,                
           AnaFonksiyonTutmaci, 
           NULL               
           );
           
    ShowWindow (AnaPencereTutmaci, nFunsterStil);
     
    Dugme1Tutmaci = CreateWindowEx (
           0,
           "button",
           "Çalıştır",
           WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
           2,      
           2,       
           170,      
           30,   
           AnaPencereTutmaci,
           (HMENU)1,
           AnaFonksiyonTutmaci,
           NULL
           );
           
    Durgun1Tutmaci = CreateWindowEx (
           0,
           "static",
           "Başlatmak için yukarıdaki düğmeye basınız",
           WS_CHILD | WS_VISIBLE | WS_BORDER | SS_LEFT,
           2,      
           35,       
           170,      
           35,   
           AnaPencereTutmaci,
           (HMENU)2,
           AnaFonksiyonTutmaci,
           NULL
           ); 
           
      LKutu1Tutmaci = CreateWindowEx (
           0,
           "listbox",
           "",
           WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_MULTICOLUMN | LBS_SORT,
           174,
           2,
           150,
           300,
           AnaPencereTutmaci,
           (HMENU)3,
           AnaFonksiyonTutmaci,
           NULL
           );
           
      Agac1Tutmaci = CreateWindowEx (
           0,
           WC_TREEVIEW,
           "Ağaç Görünümü",
           WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS,
           400,
           2,
           150,
           300,
           AnaPencereTutmaci,
           (HMENU)4,
           AnaFonksiyonTutmaci,
           NULL
           ); 
           
          
    while (GetMessage (&Mesajlar, NULL, 0, 0))
    {
        TranslateMessage(&Mesajlar);

        DispatchMessage(&Mesajlar);
    }

    return Mesajlar.wParam;
}

LRESULT CALLBACK PencereProseduru (HWND AnaPencereTutmaci, UINT message, WPARAM wParam, LPARAM lParam)
{   
        char Dugme1Ismi[256];
        
        BOOL DuzMantik1;
        PROCESSENTRY32 IslenenBilgisi = {sizeof (PROCESSENTRY32)};
        HANDLE SipSakTutmaci;
        TCHAR Saklayici[1024];
        
    switch (message)         
    {   case WM_COMMAND:
             if(LOWORD(wParam) == 1 && HIWORD(wParam) == BN_CLICKED)
                    {
                       GetWindowText(Dugme1Tutmaci, Dugme1Ismi, sizeof(Dugme1Ismi));
                       if (strcmp(Dugme1Ismi, "Durdur")== 0) 
                       {  SetWindowText (Durgun1Tutmaci, "Başlamak için yukarıdaki düğmeye basınız");
                          SetWindowText (Dugme1Tutmaci,"Çalıştır");
                          SendMessage(LKutu1Tutmaci, LB_RESETCONTENT, 0, 0);
                          break;
                       }
                       else
                       {   SetWindowText (Durgun1Tutmaci,"Durmak için yukarıdaki düğmeye basınız");
                           SetWindowText (Dugme1Tutmaci, "Durdur");
                           
                           SipSakTutmaci = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
                           DuzMantik1 = Process32First (SipSakTutmaci, &IslenenBilgisi);
                           
                           while (DuzMantik1)
                           {
                                 wsprintf(Saklayici,"%s, %d, %d",IslenenBilgisi.szExeFile, IslenenBilgisi.cntThreads, IslenenBilgisi.th32ProcessID);(Saklayici,"%s, Thread = %d", IslenenBilgisi.szExeFile, IslenenBilgisi.cntThreads);
                                 SendMessage (LKutu1Tutmaci, LB_ADDSTRING,0,(LPARAM)Saklayici);
                                 DuzMantik1 = Process32Next (SipSakTutmaci, &IslenenBilgisi);
                           }
                           CloseHandle(SipSakTutmaci);
                           break;
                       }
                    }
                    break;                              
        case WM_DESTROY:
            PostQuitMessage (0);  
            break;
        default:  
            return DefWindowProc (AnaPencereTutmaci, message, wParam, lParam);
    }

    return 0;
}