AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anwendungen steuern - Delphi unfähiger als andere Sprachen?
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendungen steuern - Delphi unfähiger als andere Sprachen?

Ein Thema von Ajin · begonnen am 24. Sep 2007 · letzter Beitrag vom 24. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 16:24
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!
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 16:54
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.

Das gleiche Thema
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 17:04
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
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 17:12
Daran hab ich gedacht!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 17:16
Zitat:
Sendmessage braucht einfach zu lange und ist nicht schnell genug zum senden von Keys.
Kannst du das genauer erklären? Ich hätte gedacht das keybd_event langsamer ist.
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 17:29
Zitat von SirThornberry:
Zitat:
Sendmessage braucht einfach zu lange und ist nicht schnell genug zum senden von Keys.
Kannst du das genauer erklären? Ich hätte gedacht das keybd_event langsamer ist.
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.
Ja ruft sie auf Kommt aber zu spät oder zu langsam an.
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 ?
keys : Array[0..255] of Boolean; SendMessage:
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
  Mit Zitat antworten Zitat
gabneo

Registriert seit: 15. Okt 2006
Ort: Deutsche Toskana :)
93 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

Re: Anwendungen steuern - Delphi unfähiger als andere Sprach

  Alt 24. Sep 2007, 17:33
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:23 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