greggy80
Mitglied
Ich möchte aus einer TreeView aus einer Fremdanwendung ein Element (TVITEM) auslesen und insbesondere eigentlich nur die Bezeichnung des Elements ermitteln (pszText).
Testweise habe ich erstmal das aktuell markierte Element ermittelt.
Das HWND zu dem Tree existiert schon in dem Code, ist auch korrekt (mit WinSpy Adressen überprüft und schon einige andere SendMessage's erfolgreich ausprobiert).
Das Problem ist, dass kein Text ausgelesen wird. Die Funktion TreeView_GetItem liefert auch false, was mich etwas verwirrt. In HTREEITEM stehen aber Adressen drin, die sich auch ändern, wenn ich in der Liste im Fremdprogramm andere Elemente markiere.
Ist es vielleicht durch eine Sicherheitseinstellung nicht möglich, die Werte auszulesen?
Hab ich irgendetwas falsche gemacht?
Ich benutze WinXP SP2.
Vielen Dank schon mal für eure Hilfe,
David
Testweise habe ich erstmal das aktuell markierte Element ermittelt.
Das HWND zu dem Tree existiert schon in dem Code, ist auch korrekt (mit WinSpy Adressen überprüft und schon einige andere SendMessage's erfolgreich ausprobiert).
Code:
char szBuffer[100];
TVITEM item;
HTREEITEM t = TreeView_GetSelection(tree);
cout << "Pointer zum Element: " << t << "\n\n";
item.hItem = t;
item.mask = TVIF_TEXT;
item.pszText = szBuffer;
item.cchTextMax = 100;
cout << TreeView_GetItem(tree, &item);
cout << "Text:" << item.pszText << "\n\n";
cout << "Text:" << szBuffer << "\n\n";
Das Problem ist, dass kein Text ausgelesen wird. Die Funktion TreeView_GetItem liefert auch false, was mich etwas verwirrt. In HTREEITEM stehen aber Adressen drin, die sich auch ändern, wenn ich in der Liste im Fremdprogramm andere Elemente markiere.
Ist es vielleicht durch eine Sicherheitseinstellung nicht möglich, die Werte auszulesen?
Hab ich irgendetwas falsche gemacht?
Ich benutze WinXP SP2.
Vielen Dank schon mal für eure Hilfe,
David