Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 

Re: TViewList aus externem Programm beschreiben

  Alt 17. Aug 2006, 12:05
Mit Nachrichten wirst du nicht weit kommen. Mit Edits, Listboxen usw geht das noch. Aber auch nur, weil es unter Windows 3.1 ging. Da unter 32-Bit Windows die Speicherbereiche vollkommen getrennt sind unter den Prozessen würde es nicht mehr gehen auf solche Controls in anderen Prozessen zuzugreifen. Aus Kompatibilitätsgründen aber mapped Windows bestimmte nachrichten in einen Speicherbereich der für den Sender und den Empfänger der Nachricht gültig ist, so dass es auch unter 32-Bit Windows geht.

Der Listview gehört zu den neuen Controls die mit Windows 95 eingeführt wurden. Da musste Mircosoft keine Rücksicht nehmen und hat es auch nicht getan. da wird das ganze schon etwas schwieriger. Vom Prinzip sieht es so aus:
- Speicher für die ListviewItem-Struktur im eigenen Prozess reservieren
- Speicher für die ListviewItem-Struktur im fremden Prozess reservieren mit VirtualAllocEx
- LitviewItems im fremden Prozess auslesen und mit WriteProcessMemory in den zufor reservierten Speicher schreiben
- Mit ReadProcesmemory den Speicher auslesen und in den Speicher, den man im eigenen Prozess reserviert hat, kopieren

Wie das praktisch geht, kannst du dir bei meinen LuckieDIPS angucken
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat