AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Zugriff auf ein TImage einer externen Anwendung
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf ein TImage einer externen Anwendung

Ein Thema von KoS · begonnen am 15. Feb 2007 · letzter Beitrag vom 21. Mär 2007
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    
KoS

Registriert seit: 9. Jun 2006
55 Beiträge
 
#81

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 7. Mär 2007, 14:18
Zitat von bitsetter:
Voraussetzung ist natürlich, dass das Programm nicht zu umfangreich ist und die Lizenzvereinbarungen eingehalten werden.
Mit diesem Satz triffst du genau die Problematik!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#82

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 7. Mär 2007, 16:50
Zitat von bitsetter:
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.
Das hatte ich mir auch mal gedacht.

allerdings dachte ich mir auch, wenn es möglich wäre
Zitat von bitsetter:
Voraussetzung ist natürlich, dass das Programm nicht zu umfangreich ist und die Lizenzvereinbarungen eingehalten werden.
hätte KoS das sicherlich schon getan.


Aber mir gehen auch die Ideen aus.
@All Wie blockiert das Programm ein "readprocessmemory" an der Einsprungadresse der WndProc?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
KoS

Registriert seit: 9. Jun 2006
55 Beiträge
 
#83

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 7. Mär 2007, 18:45
Wisst ihr was? HAUT MIT TOT!
Ich Intelligenzbolzen hab vergessen die dll mit rüber zu ziehen!

@sirius: Du müsstest ggf. im Source den Label-Namen auf lbl2 ändern. Dürfte aber nur Communicate betreffen, oder?
Angehängte Dateien
Dateityp: txt memory2_649.txt (2,0 KB, 9x aufgerufen)
Dateityp: txt memory_563.txt (1,8 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#84

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 7. Mär 2007, 20:31
Ich werds morgen mal änderbar machen (Label).

Was du da geschickt hast ist mysterious. Also sinnvoller Code ist es nicht. Demnach ist es nicht die wirkliche Adresse. Und da sie auch mit 4 "F"s anfängt, sieht es eher nach einer relativen Adresse aus. Aber wie geht denn das bei der wndProc? Wozu soll die relativ sein und woher weis windows das und überhaupt.... Fragen über Fragen.
Also @all, was ist, wenn bei getwindowlong(handle,gwl_wndproc) eine (anscheinend) relative Adresse herauskommt ($FFFF0141); x sind irgendwelche ZahlenEdit: Man muss nur lesen!
"Retrieves the address of the window procedure, or a handle representing the address of the window procedure."
Und was mach ich jetzt mit dem Handle ? Ich brauche doch die Adresse.

Anscheinend zeigt das MSB an, dass es ein Handle ist (in den oberen 2GB kann ja eh nicht die WndProc liegen) jetzt muss ich $FFFF0141 (oder was auch immer da rauskommt) also negieren, dass wäre dann etwa $0000FEBF = 65215. Oder es bleibt halt bei etwas in die 4Mrd.
Tja, und dann? "GetHandleInformation"? Ich such noch mal kurz ansonsten eröffne ich einen neuen Thread.


Edit zum x-ten:
Zitat:
Ich Intelligenzbolzen hab vergessen die dll mit rüber zu ziehen!
Die DLL ist nur zum disassemblen, also zur Anzeige, alles andere funktioniert trotzdem.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
KoS

Registriert seit: 9. Jun 2006
55 Beiträge
 
#85

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 8. Mär 2007, 11:18
Zitat von sirius:
Edit zum x-ten:
Zitat:
Ich Intelligenzbolzen hab vergessen die dll mit rüber zu ziehen!
Die DLL ist nur zum disassemblen, also zur Anzeige, alles andere funktioniert trotzdem.
Das die DLL für zum disassamblen ist, ist mir schon klar, aber ohne kann er es halt nicht und damit auch keine Ausgabe für den Memoryprozess.
War halt mein Fehler.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#86

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 8. Mär 2007, 20:09
Ma ne Frage: Willst du das TImage Objekt haben, oder nur das Bild bekommen oder nur das Bild abändern. (Letztes geht viel einfacher)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#87

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 8. Mär 2007, 21:26
Zitat von brechi:
(Letztes geht viel einfacher)
Erzähl mal! Aber nebenbei brauchen wir auch noch den Inhalt verschiedener Labels.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
KoS

Registriert seit: 9. Jun 2006
55 Beiträge
 
#88

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 9. Mär 2007, 12:00
Es geht darum das Bild ggf. abzuändern, aber da man das eigentlich "einfach" Überzeichnen kann brauche ich gewisse Daten von den TImage-Objekten sprich ihre Position und Größe.

Aber wie sirius schon sagte, es führt kein Weg drum herum den Text der TLabel zu ermitteln, da ohne diesen Text ich auch nicht weiß was ich bei dem TImages ersetzen soll.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#89

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 9. Mär 2007, 12:50
Also ich weiß nicht wo das Problem ist eine Dll in den Prozes zu laden und dann einfach einer Variable die Adresse der Form zuweisen.
Dann funktionieren alle Funktionen wie FindComponent usw.

Die Adresse bekommt man durch Debuggen / Disassembling raus. Oder Man schreibt sich nen Parser das die Adresse im Speicher sucht.

Ansonsten wenns ur um abändert gehen soll: Die Standart Hooks installieren wie BitBlt StretchBlt TextOut usw. dann kommt man an die Daten auch dran.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#90

Re: Zugriff auf ein TImage einer externen Anwendung

  Alt 9. Mär 2007, 13:08
Zitat von Sirius:
Und was mach ich jetzt mit dem Handle ? Ich brauche doch die Adresse.
Hier gehts zu dem Thema weiter.


Zitat von brechi:
eine Dll in den Prozes zu laden und dann einfach einer Variable die Adresse der Form zuweisen.
Dann funktionieren alle Funktionen wie FindComponent usw.
Vorraussetzung ist auch hier, dass es die gleiche VCL ist. Aber das ist auch alles nicht das Problem. Ich habs nun ohne DLL und ohne VCL gemacht, klappt ja auch prima. Aber eben nicht bei diesem Programm. Weil es nämlich genau an dem "einfach die Adresse der Form zuweisen" scheitert. Bisher bin ich von der WndProc ausgegangen. Die Adresse des Formulars liegt 9 Bytes dahinter. Funktioniert, solange man eben die Adresse der WndProc hat. Eine aandere Referenz ist mir nicht eingefallen. Und das Programm kann ich leider nicht debuggen.

Zitat von brechi:
Ansonsten wenns ur um abändert gehen soll: Die Standart Hooks installieren wie BitBlt StretchBlt TextOut usw. dann kommt man an die Daten auch dran.
Das ist mal ein neuer Weg, aber wie weis man dann, welches Textout zu welchem Label gehört.... vielleicht über die Koordinaten.. da muss man mal drüber nachdenken.


PS:
Zitat von brechi:
Also ich weiß nicht wo das Problem ist
Klingt ein bisschen überheblich / unhöflich, oder?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr.
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