Komponenten anderer Fenster steueren?



  • Moin,

    und zwar müsste es doch möglich sein, wenn ich mir ein Handle von einem fremden Fenster besorge, das zufällig eine Komponente ist (z.B. Listview) müsste ich das doch ganz normal ansprechen und mit arbeiten können?



  • Also ich bekomme nur Datensalat, wenn ich auf irgdnwelche Komponenten zugreifen möchte.
    ICh bin mir sicher, dass die einzelnen Komponenten Hwnd(Handle) richtig sind, da ich auf die HDC ganz normal zeichnen kann.

    Wenn ich z.B. einen Eintrag einer Listview auslesen möchte:

    int getLVText(HWND hTarget)
    {
    	lvItem = new LVITEM;
    
    	lvItem->iSubItem = 0;
    	lvItem->cchTextMax = 255;
    	lvItem->pszText = lpText;
    	int res = SendMessage(hTarget, LVM_GETITEMTEXT, 0, (long)lvItem);
    
    	if (res != 0)
    	{
    		MessageBox(NULL, lvItem->pszText, "", MB_OK); //messagebox shows the listview item string
    		return 1;
    	}
    	else
    	{
    		MessageBox(NULL, "Error", "", MB_OK); //messagebox shows the listview item string
    	}
    	return 0;
    }
    

    bekomm ich nur Datenslat. bzw. Errors. Evt. kann mir jemand hierzu weiterhelfen - ist das überhaupt möglich - bloggt das Windows?

    Bye



  • Wie wird denn 'hTarget' initialisiert ? Sprich: Wie wird die Fkt aufgerufen ?



  • Das siehst du doch du schwuppe?



  • das ist das problem mit den getrennten adressräumen. guckst du: http://www.codeproject.com/threads/int64_memsteal.asp



  • B0nze schrieb:

    Das siehst du doch du schwuppe?

    Voll-Idiot, nein das hast du nicht gepostet!



  • @CodeFinder:
    Sry, das war jemand anderes! Die Funktion wird durch FindWind("xx") und über main() initialisiert. Das hWnd ist in Jedem falle richtig!

    bye



  • der klassen-name des objekts ist hier "afx:40..."! Dagegen sind die klassenname von anderen komponenten wie Comoboxen "ComboboxClass".

    Hab gelesen, dass das hierbei nicht einfach geht über SendMessages an die Daten zu kommen.
    Daher probier ich das mit Hooks nun zu realisieren, nur bin ich mir gerade nicht sicher welche Nachrichten abzufangen sind, um den Text gescheid auszulesen, evt. hat hierbei jemand eine Idee?


Anmelden zum Antworten