![]() |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Wenn man den Unterschied zwischen Sendmessage und keybd_event kennt, weiß man auch wann man was zu nutzen hat und was welche Nachteile hat. Der Urheber von PostKeyEx32 wusste zum Beispiel einfach wie keybd_event aufzurufen ist (steht ja auch in der Hilfe) und konnte dadurch seine Funktion drum herum bauen.
Ich denke einige sollte einfach nur zu der Erkenntnis kommen das Hilfe lesen meist mehr bringt also einfach nur fertige Funktionen anderer zu kopieren ohne zu verstehen was diese machen! |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Ich habe schon einiges in Hilfen gelesen, MSDN Library und jede Menge Beiträge von ähnlichen Themen. Leider wirds ab einer gewissen Stelle sehr kompliziert und ich steig da nicht mehr ganz durch. Deshalb probiere ich jede erdenkliche Möglichkeit aus.
"Andere Sprachen" Definieren kann ich nicht, ich kann nur vermuten dass es sich um C++ handelt da ich keinen Quelltext von diesen schönen Tools habe. ![]() |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Bedenke das einige Anwendungen nur auf einen Tastendruck reagieren wenn sie aktiv sind.
Also könnte unterumständen ein APPACTIVATE von nöten sein um den Button tatsächlich drücken zu können. bzw.. die Anwendung erst aktivieren bevor du das Kommando verschickst. EDIT: Sendmessage braucht einfach zu lange und ist nicht schnell genug zum senden von Keys. gruss Emil |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Daran hab ich gedacht! :drunken:
|
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Zitat:
Dachte keybd_event plaziert den Key weiter unten (low-level gesehen). Und von dort aus wird es dann in die MessageQueue gelegt wovon es durch die Nachrichtenschleife abgeholt wird. SendMessage hingegen sollte nichts in der Messagequeue ablegen sondern ruft direkt die Wnd-Proc auf. So war zumindest bisher meine Annahme/Wissensstand. |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Zitat:
In Bassvis habe ich zu anfangs auch Sendmessage ala Winamp verwendet. Mußte aber feststellen das ohne vorrangesetzten Sleep es nicht möglich war die Daten in der Winproc zu verarbeiten. Besonders kritisch wird das wenn die Anwendung auch noch OpenGl Plugins zur zeit verwendet. Habe es deshalb geändert da ich den Anwender nicht zumuten konnte 100.te von Sleeps in seinen Code zu verwenden. EDIT: Kann es sein das er vielleicht die Keys nicht deklariert hat ?
Delphi-Quellcode:
SendMessage:
keys : Array[0..255] of Boolean;
Diese Funktion sendet eine Nachricht an ein Entsprechendes Fenster bzw. seiner Fensterprozedure und gibt dessen Rückgabe zurück. PostMessage: Diese Funktion sendet eine Nachricht an ein angegebenes Fenster welche nicht an das Fenster direkt sondern an dessen Nachrichteneingangspuffer übermittelt wird wobei nicht auf eine bestätigung des Threads gewartet wird. gruss Emil |
Re: Anwendungen steuern - Delphi unfähiger als andere Sprach
Das dachte ich eigentlich auch??? :?:
@Sir Thornberry Ich verstehe durchaus den Code den ich gepostet habe. Doch hänge ich gerade an der selben Wissenslücke an der du auch hängst, sollte schon erlaubt sein :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz