SwordMaster Geschrieben 18. Juli 2003 Geschrieben 18. Juli 2003 ich wollte gerade versuchen aus einer Anderen Anwendung einträge eines ListCtrl auszulesen... Ich habe versucht mit EnumChildWindows alle Kindfenster die sich auf der Anwendung befinden zu bekommen... und diese dann mit folgendem Code auf CListCtrl typzucasten, und die gnazen ergebnisse in eine ListBox von mir zu schreiben CWnd *Window; Window=CWnd::FromHandle(hwnd); CListCtrl *MyList=(CListCtrl*)Window; char text[300]; MyList->GetItemText(0,0,text,100); CString Text=text; Text.MakeLower(); if (Text!="") ((CMyProgramm*)lparam)->m_list.AddString("ItemText: "+Text); Doch leider bekomme ich die einträge nciht... es kommt keine Debug Assertion und kein Debugfehler... aber ich bekomme nur Käse als ergebnis Kann mir jemand sagen wieso es niicht funktioniert? Zitieren
idefix Geschrieben 18. Juli 2003 Geschrieben 18. Juli 2003 bist du dir sicher das du auch ein ListCtrl hast? Window=CWnd::FromHandle(hwnd); ? Wie sollte ein Window/CWnd aus einer andern Applikation in der CWnd Map deiner Applikation vorhanden sein? (afxMapHWND) ich würde die Win32 API pure benutzten um Daten fremder Applikation auszulesen Zitieren
SwordMaster Geschrieben 18. Juli 2003 Autor Geschrieben 18. Juli 2003 Das komische ist, wenn es sich um eine ListBox handelt un dich dann auf CListBox typcaste... dann kann ich problemlos die einzelnen Einträge auslesen...nur bei CListCtrl gehts nicht Hab jetzt mit char wndowclass[100]; GetClassName(hwnd,wndowclass,99); AfxMessageBox(wndowclass); herausgefunden dass es sich um eine SysListView32 handelt.... also hätte ich mit LPSTR text; ListView_GetItemText(hwnd,0,0,text,100); versucht den Text aus dem Item rauszulesen.... doch es funktioniert nicht.... ich bin mir jedoch sicher dass ich das richtige hwnd habe, da ich mit ListView_DeleteItem(hwnd, 1); ein Item aus der Tabelle löschen kann... Aber egal was ich versuche, ich komme einfach nciht an den Text eines Items... Zitieren
idefix Geschrieben 21. Juli 2003 Geschrieben 21. Juli 2003 wahrscheinlich ein Tippfehler. aber LPSTR text; ? sollte sein char text[100]; Zitieren
Idexe Geschrieben 21. Juli 2003 Geschrieben 21. Juli 2003 Versuchs doch mal mit ListView_GetItem(HWND, LPLVITEM) und in dem LVITEM struct die mask auf LVIF_TEXT setzen. Viel Glück! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.