Delphi-PRAXiS
Seite 8 von 12   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zugriff auf ein TImage einer externen Anwendung (https://www.delphipraxis.net/86561-zugriff-auf-ein-timage-einer-externen-anwendung.html)

KoS 5. Mär 2007 16:32

Re: Zugriff auf ein TImage einer externen Anwendung
 
Also ich hab das jetzt mal ausprobiert. Programm bekommt keine Zugriffsverletzung.
Allerdings habe ich auch mal den bereich -200 bis 200 "gescannt" und habe trozdem immer noch kein Ergebnis, d.h. immer nur:
Debug: $00000000 $0C27037E
Error: EAccessViolation @0C2703E4

Ein klick auf Memory brachte auch kein Ergebnis.
Zur Info: Bei meinem Testprogramm hat allse richtig Funktioniert.

Ich werde mal noch weiter die Adresse abklappern, aber jenseits von 200 dürfte doch eigentlich nichts sein, oder?

sirius 5. Mär 2007 16:47

Re: Zugriff auf ein TImage einer externen Anwendung
 
Nee, ein Ergebnis bringt das jetzt nicht mehr. (Also Communicate könnte, aber das steht jetzt nicht im Vordergrund)

Mit Memory lesen wir den ersten relevanten Teil des speichers aus. Den brauch ich mal um zu sehen, warum die 9 nicht funktioniert.
Kannst du den mir mal zukommen lassen (mit Speichern kannst du den Inhalt in eine TXT ablegen).

KoS 5. Mär 2007 17:59

Re: Zugriff auf ein TImage einer externen Anwendung
 
Wie ich bereits sagte, es steht nichts drin.

sirius 5. Mär 2007 18:59

Re: Zugriff auf ein TImage einer externen Anwendung
 
Nach drücken von Memory steht nix drin (im Gegensatz zum Beispielprogramm)?
Evtl. erst Communicate drücken und dann nach etwa 10s auf Memory. Wenn dann nix kommt, weis ich auch nicht mehr weiter. Anscheinend stimmt etwas nicht mit der WndProc (also dem Zeiger dahin)

KoS 5. Mär 2007 19:08

Re: Zugriff auf ein TImage einer externen Anwendung
 
Habs grad nochmal probiert mit Communicate, ca. 10s warten und dann Memory. Ist leider das selbe Ergebnis, bzw. kein Ergebnis. Memo wird gecleared aber nicht gefüllt.

Kann es vielleicht sein das man sich vorwärts hangeln muss vom MainForm des fremden Prozesses zum eigentlichen Form?

sirius 5. Mär 2007 19:14

Re: Zugriff auf ein TImage einer externen Anwendung
 
Und was kommt bei deinem Testprogramm?

Nee, muss man eigentlich nicht, da du ja (hoffentlich) genau das Handle des "Ziel"-Formulars ermittelt hast. Oder, ah jetzt fällt mir etwas ein. Ist vielleicht, dass Zielformular nicht wirklich die Mainform wo der Titel steht? Allerdings müsste dann Memory trotzdem ein Ergebnis liefern, auch wenn es unbrauchbar ist. Memory macht nix weiter, als den speicher rund um die WndProc auszulesen und zu übersetzen (in Assembler).
Damit wüsste ich, was dort steht und könnte dementsprechend reagieren.
Communicate müsste eigentlich auch immer zwei Debug-Infos und dann eine ErrorMessage schicken.
Alles komisch :gruebel:

KoS 6. Mär 2007 09:12

Re: Zugriff auf ein TImage einer externen Anwendung
 
Beim Testprogramm kommt der Assambler-Code.

Ich weiß nicht genau "wie" das Programm Funktioniert, aber das Ziel-Form ist "ein" Formular von meheren des Prozesses welches während der Laufzeit erzeugt wird und dann wieder geschlossen. (Ob nun Create oder Show weiß ich nicht).

Und wie du ja gesehen hast, wird nur 1 Debug und 1 Error ausgegeben. Aber ich nehm an, da ja anfänglich das Ziel-Form durch Zugriffsverletzung geschlossen wurde, das es eigentlich schon irgendwie der korrekte Handle sein muss.

sirius 6. Mär 2007 10:47

Re: Zugriff auf ein TImage einer externen Anwendung
 
Zitat:

Zitat von KoS
Und wie du ja gesehen hast, wird nur 1 Debug und 1 Error ausgegeben. Aber ich nehm an, da ja anfänglich das Ziel-Form durch Zugriffsverletzung geschlossen wurde, das es eigentlich schon irgendwie der korrekte Handle sein muss.

Stimmt. Er dürfte ja auch keinen Fehler bringen, sondern maximal, dass er kein Label findet.


Evtl. kann man die speicherseiten dort nicht lesen :gruebel:

sirius 7. Mär 2007 09:18

Re: Zugriff auf ein TImage einer externen Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich hab mal mehr Fehlermeldungen eingebaut und versucht den Addressbereich lesbar zu machen. Testen kann ich leider nicht, da beim Beispielprogramm ja alles funktioniert.

bitsetter 7. Mär 2007 12:40

Re: Zugriff auf ein TImage einer externen Anwendung
 
Hallo,

wenn KoS die Applikation in der er ein Image kontrollieren möchte mal zu Testzwecken sirius zur Verfügung stellen würde, dann könntet Ihr beide sicherlich schneller zu einem Ergebnis kommen. Voraussetzung ist natürlich, dass das Programm nicht zu umfangreich ist und die Lizenzvereinbarungen eingehalten werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 Uhr.
Seite 8 von 12   « Erste     678 910     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz