SysListView32 von Fremdanwendung auslesen (Text-Elemente)
-
Ich möchte gerne die Elemente in einer ListView aus einer anderen Anwendung auslesen,
So geht es auf jedenfall nicht, wie ich schon rausgefunden habe:
SendMessage(HwndLV, LVM_GETITEMTEXT...da hier ja nur auf lokale Variablen zugegriffen wird und nur leere Textstrings zurückgegeben werden.
Es muß also wohl auf den Speicher der Fremdanwendung zugegriffen werden... aber wie ???
Ich wollte mir eine Funktion bauen wie folgt...
CString str_GetListViewElementHptWindow(HWND hWnd, int i_Listenelement) { // hWnd das übergeben wurde ist vom entsprechendem Fremdfenster-Listview-Element // Listenelement das übergeben wurde ist das gewünschte Element DWORD ProcessID; HANDLE hproc; // Erst einmal die Prozess-ID holen... GetWindowThreadProcessId(hWnd, &ProcessID); hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID); ReadProcessMemory(hproc,(LPCVOID)adress,&buffer, sizeof(buffer),&rw)) // diese Zeile weiss ich gar nicht so richtig wie... CloseHandle(hproc); return str_ListenElementText; }Irgendwie in dieser Art aber irgendwie bekomme ich das nicht hin...
Wie muß ich denn hier vorgehen???
-
schon fündig geworden?
-
Schau Dir mal das Sample von Jejjrey Richter an DIPS (Desktop Icon Position Saver). Das ist genau was Du sucht.
In dem Buch "Advanced Windows" wird das ausgiebig beschrieben.
-
Martin Richter schrieb:
In dem Buch "Advanced Windows" wird das ausgiebig beschrieben.
Hast du ne ISBN? Amazon schmeißt irgendwie nix passendes raus.
-
Heißt natürlich Jeffrey Richter.
http://www.amazon.de/Programming-Applications-Microsoft-Windows-Richter/dp/1572319968