Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Caption eines Labels aus fremden Programm auslesen (https://www.delphipraxis.net/32038-caption-eines-labels-aus-fremden-programm-auslesen.html)

BenjaminH 17. Okt 2004 20:31


Caption eines Labels aus fremden Programm auslesen
 
Ich möchte aus einem fremden Programm den Text eines Labels auslesen.
Habe auf der suche nach einer lösung das gefunden:
Editboxen in fremden Programmen suchen
Versuche ich den Quellcode im Download zu compilieren erhalte ich die Fehler
Z.25 "Undefinierter Bezeichner: 'GetMemory'"
Z.36 "Undefinierter Bezeichner: 'FreeMemory'"
Liegt das daran, dass ich Delphi 3 habe?
Ich hab echt keine Ahnung, woher das kommt.
Benjamin

toms 17. Okt 2004 22:56

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Ich möchte aus einem fremden Programm den Text eines Labels auslesen
Hi,

Du kannst den Text nur auslesen, wenn es sich um ein Static (Klasse) handelt.
Ein TLabel kannst du z.B nicht auslesen, da er kein Windows Handle besitzt.

BenjaminH 18. Okt 2004 12:56

Re: Caption eines Labels aus fremden Programm auslesen
 
Hallo

In dem Verfahren dort hat es funktioniert eine ComboBox zu suchen!
Mit Labels geht das also nicht? Was ist da der Unterschied?

Vielleicht ist ja erstmal wichtiger warum das ein Problem mit FreeMemory hat.
Das würde mich auf jeden fall ein bisschen weiter bringen.
Benjamin

fkerber 18. Okt 2004 12:58

Re: Caption eines Labels aus fremden Programm auslesen
 
Hi!

Müsste es nicht GetMem und FreeMem heißen?

Ciao Frederic

BenjaminH 18. Okt 2004 13:05

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Zitat von fkerber
Müsste es nicht GetMem und FreeMem heißen?

Das dachte ich auch zuerst, aber GetMemory und FreeMemory verlangen ganz andere Parameter als GetMem und FreeMem

Ultimator 18. Okt 2004 13:18

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Zitat von BenjaminH
Mit Labels geht das also nicht? Was ist da der Unterschied?

Wie schon gesagt, um den Text eines "Fensters" auslesen zu können, braucht dasd "Fenster" ein Handle, was das Label aber nicht hat ;-)

fkerber 18. Okt 2004 13:45

Re: Caption eines Labels aus fremden Programm auslesen
 
Hi!

Seltsamerweise kennt meine Delphi-Hilfe GetMemory und FreeMemory aber nicht.
Wo tauchen die denn auf (Code)?

Ciao Frederic

Steve 18. Okt 2004 13:47

Re: Caption eines Labels aus fremden Programm auslesen
 
GetMemory etc. steht in System.pas (in D7 zumindest)

Gruß
Stephan :dance:

BenjaminH 18. Okt 2004 16:10

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Zitat von fkerber
Seltsamerweise kennt meine Delphi-Hilfe GetMemory und FreeMemory aber nicht.
Wo tauchen die denn auf (Code)?

Im ersten Beitrag hatte ich den Link zu einem Posting gesendet, in dem ein Quelltext zum Download steht, in dem FreeMemory auftaucht.

BenjaminH 18. Okt 2004 16:38

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Zitat von Steve
GetMemory etc. steht in System.pas (in D7 zumindest)

Bei mir (Delphi 3 Prof) steht das in der System.pas leider nicht drin. :-(
Anders bekomme ich das nicht hin, oder?
Benjamin

SirThornberry 18. Okt 2004 17:04

Re: Caption eines Labels aus fremden Programm auslesen
 
Da es sich um ein Label (TControl) handelt bekommst du es überhaupt nicht hinn, egal ob du den Fehler mit den Memoryfunktionen löst. Wie schon geschrieben müsste das Label ein Handle haben um ihm die Messages schicken zu können. Da aber TControls soetwas noch nicht haben geht es nicht. (dazu müsste das Label von TWinControl abgeleitet sein oder auf eine andere art ein handel zugewiesen bekommen)

Steve 18. Okt 2004 17:50

Re: Caption eines Labels aus fremden Programm auslesen
 
imho macht getmemory prinzipiell nix anderes als GetMem auch
Dass Dir das bei Deinem Prob TLabel nicht wirklich weiterhilft wurde ja schon erwähnt ;)

Gruß
Stephan :dance:

idontwantaname 18. Okt 2004 17:54

Re: Caption eines Labels aus fremden Programm auslesen
 
nur so nebenbei: Delphi 6 Personal kennt auch GetMemory

mirage228 18. Okt 2004 18:11

Re: Caption eines Labels aus fremden Programm auslesen
 
Zitat:

Zitat von idontwantaname
nur so nebenbei: Delphi 6 Personal kennt auch GetMemory

Also das normale GetMem hat bei mir keine Deklaration (ist in den Compiler eingebaut).

GetMemory verweist auf MemoryManager.GetMem, da ist die Prozedur SysGetMem, die wiederum _malloc() aufruft.

Dürfte von der Wirkung her dasselbe sein, denke ich.

mfG
mirage2328

gmarts 18. Okt 2004 18:11

Re: Caption eines Labels aus fremden Programm auslesen
 
Alternativ kannste ja das probieren: OCR

BenjaminH 18. Okt 2004 19:48

Re: Caption eines Labels aus fremden Programm auslesen
 
Erstmal vielen Dank für die schnelle Lösung des Problems mit GetMemory
Zitat:

Zitat von gmarts
Alternativ kannste ja das probieren: OCR

Leider hab ich nur D3
Eine andere möglichkeit an das Label heranzukommen gibt es wohl nicht?
Benjamin


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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