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?
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
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...
idefix Geschrieben 21. Juli 2003 Geschrieben 21. Juli 2003 wahrscheinlich ein Tippfehler. aber LPSTR text; ? sollte sein char text[100];
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!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden