Wie komme ich an die Elemente eines TreeViews einer fremden Applikation?



  • Prost!

    Ich würde gerne die Elemente eines fremden TreeViews (Klassenname TreeView20WndClass) einlesen. Ich vermute, dass ich SendMessage mit LB_GETTEXT benutzen muss (oder doch WM_GETTEXT?).

    Mein aktueller Stand sieht so aus:

    unsigned char sTmp[128]={0};
          LRESULT res=SendMessage(hwnd,LB_GETTEXT,(WPARAM)0,(LPARAM)sTmp);
    

    Das TreeView, an dem ich teste, hat (in diesem Zustand) zwei Elemente. Das erste ist "SPEC", das zweite "x Start".
    Mit obigem Code bekomme ich in sTmp einen sehr komischen String mit der Länge 4:

    [0]: 0 ('\0') ???
    [2]: 198
    [3]: 237
    [4]: 120 ('x')

    Zumindest das 'x' könnte irgendwie so halbwegs stimmen, es kommt ja immerhin im TreeView vor. Aber wieso wird an Stelle 0 nichts / eine 0 geschrieben? Wieso diese komischen Werte? Was muss ich machen, damit es klappt?

    Gruß Matze



  • Ich würde vorschlagen, du nimmst für ein TreeView auch die passende Message (TVM_GETITEM), und nicht LB_... (steht für ListBox).
    Dann könntest du auch die richtigen Infos kriegen (wobei du dann eine Struktur mit Namen TV_ITEM übergeben mußt - bzw. einen Zeiger darauf).
    Der Rest steht in der MSDN bzw. in der WinSDK-Hilfe.



  • Danke, das wusste ich nicht. Ich dachte mir, eine Listbox kommt dem am nächsten...

    Werde ich direkt mal antesten.

    Gruß Matze


Anmelden zum Antworten