AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Undokumentierter Sendmessage-Befehl
Thema durchsuchen
Ansicht
Themen-Optionen

Undokumentierter Sendmessage-Befehl

Ein Thema von PinkFloydFan · begonnen am 4. Sep 2011 · letzter Beitrag vom 6. Sep 2011
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#1

Undokumentierter Sendmessage-Befehl

  Alt 4. Sep 2011, 23:20
Moin liebe Delphi-Gemeinde

bin immer noch am übersetzen eines VB-Codes und hänge nun fest.
Folgende Zeile macht mir Kopfzerbrechen:

in VB:
Code:
lFormCaptionHeapAddress = SendMessage(hwnd, VBM_WINDOWTITLEADDR, ByVal 0&, ByVal 0&)
meine Delphi-Lösung:

lFormCaptionHeapAddress:=SendMessage(hwnd, VBM_WINDOWTITLEADDR, 0, 0);

VBM_WINDOWTITLEADDR soll angeblich ne undokumentierte Konstante mit einem Wert von $1091 sein und sollte
die Adresse der Form-Caption im Heap liefern.. bei mir leider immer 0..
Hwnd ist das Handle der Form..

Hat das ByVal irgendwas zu sagen??

Kennt jemand diese Abfrage, und wenn ja, wie habt ihr das gelöst??

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

AW: Undokumentierter Sendmessage-Befehl

  Alt 4. Sep 2011, 23:23
Code passt soweit. Auf welchen Systemen soll das denn laufen und vor allem - wozu brauchst du das?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Undokumentierter Sendmessage-Befehl

  Alt 4. Sep 2011, 23:27
das stammt aus ner VB-Routine, mit der man angeblich Labels aus ner beliebigen Form auslesen kann..

Zu finden unter:

http://www.codeguru.com/forum/archiv.../t-304429.html
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Undokumentierter Sendmessage-Befehl

  Alt 4. Sep 2011, 23:35
Moment. Heap? Aus dem Adressraum des eigene Prozesses? Warum so umständlich?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Undokumentierter Sendmessage-Befehl

  Alt 4. Sep 2011, 23:39
ja neee

nicht der eigene..

Labels aus ner fremden Anwendung...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Undokumentierter Sendmessage-Befehl

  Alt 5. Sep 2011, 00:10
Such mal nach WM_GETTEXT. Allerdings bei Delphi Anwendungen funktioniert das nicht. Oder suchst du gerade dafür eine Lösung?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Undokumentierter Sendmessage-Befehl

  Alt 5. Sep 2011, 00:16
Moin Luckie!

WM_Gettext ist mir bekannt, funktioniert jedoch bei Labels nicht, da diese bekanntlich kein Handle besitzen.

Ich hab mir schon nen Wolf gesucht, wie ich Labels aus ner fremden Applikation auslesen kann, aber nur der obige Link mit dem VB-Code scheint ne vernünftige Lösung zu sein..
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Undokumentierter Sendmessage-Befehl

  Alt 5. Sep 2011, 02:04
Zitat:
aus ner beliebigen Form auslesen kann
Dir ist aber schon klar das diese Sendmessage wenn überhaupt nur mit VB6 Formen (HWND) funktioniert?
"ThunderRT6FormDC"

Code:
'Make sure we are working with a VB Form hWnd
sClass = Space(256)
lRet = GetClassName(hwnd, sClass, 255)
sClass = Left(sClass, lRet)

    If Not sClass = "ThunderRT6FormDC" Then
        MsgBox "This function only works on VB RunTime 6 Forms ThunderFormRT6DC"
        Exit Sub
    End If
gruss

Geändert von EWeiss ( 5. Sep 2011 um 03:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#9

AW: Undokumentierter Sendmessage-Befehl

  Alt 5. Sep 2011, 08:02
Guten Morgen!

@ EWeiss:
Das war mir schon klar.. Ich bin eben sehr optimistisch und hoffte, das man das auch für ne Delphi-Form verwenden könnte.. Aber so wie's aussieht kann ich das auch vergessen..


Hintergrund des Ganzen ist, dass wir in der Firma ein Hypersuperoberwichtiges Programm am Laufen haben, dessen Quellcode leider von einem ehemaligen Mitarbeiter mutwillig zerstört wurde und somit nicht mehr verfügbar ist, auch nicht in Code-Fragmenten. Das Proggi tut ja seinen Dienst, und nun sollten einige Erweiterungen dazu geschrieben werden, um das Handling dieses Proggs etwas zu erleichtern. Allerdings sind alle Text-Ausgaben, die das Programm tätigt, nicht in Edits oder Memos (Leider, denn dann wär's ja ein Leichtes) sondern in Labels...

Und das ist das Problem. Um die Sache "fernzusteuern" muss ich den Inhalt dieser Labels kennen.


Ich habe auch die Vorschläge in http://www.delphipraxis.net/86561-zu...wendung-2.html durchprobiert, was ja an sich auch funktioniert. Nur kenne ich die Namen der Labels nicht. Label1, Label2 usw sinds jedenfalls nicht. Die können ja jeden X-beliebigen Namen haben, zB LblIrgendwas oder ArtikelNrLabel oder sonst was...

Die grosse Frage lautet also:

Wie komme ich also an die Captions diese Label??

Geändert von PinkFloydFan ( 5. Sep 2011 um 08:36 Uhr) Grund: Linksschreibfehler ausgepessrt :-)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: Undokumentierter Sendmessage-Befehl

  Alt 5. Sep 2011, 08:03
Wenn es wirklich Labels sind, sieht es schlecht aus. Bei StaticText gäbe es noch die Möglichkeit, die Fensterhandles zu ermitteln und zu schauen, was da was ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     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 14:35 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