Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Re: Auslesen einer Statusbar eines anderen Programms

  Alt 22. Aug 2003, 13:18
Die Statusbar gehört zu den CommonControls, deswegen kann man nicht so einfach auf sie zugreifen. Bei Edits, etc. werden Messages wie WM_GETTEXT in einen gemeinsamen Adressraum gemappt, um die Kompatibilität zu alten 16-Bit Windows Programmen zu gewährleisten. Da es die CommonControls in dieser Form unter 16-Bit Windows so noch nicht gab, sah Microsoft keinen Sinn darin, diese Funktionalität auch unter 32-Bit Windows zur Verfügung zu stellen.

Zwei Möglichkeiten sehe ich da:
Entweder du machts es wie ich in meinen LuckieDIPS mit VirtualAlloEx und reservierst dir Speicher im fremden Process, schreibst mit WriteRrocessMemory rein und kopierst es mit ReadProcessMemory in einen eigenen Speicherbereich deiner Anwendung. Geht nur unter NT und höher.
Oder du injezier eine DLL in den remote Prozess und arbeitest mit WM_COPYDATA oder MMF's um die daten auszutauschen. Dies Funktioniert auch unter Windows 9x.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat