Einen Tastendruck ausführen lassen in einem anderen Programm

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Makenshi

Betreff: Einen Tastendruck ausführen lassen in einem anderen Programm

BeitragMi, Jan 11, 2006 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Aloa liebes Blitz Forum.

Mich qüalt momentan folgende Frage :

Ich habe ein Windows Programm in welchem die Enter Taste gedrückt werden müsste um ein Menü zu überspringen. Ich möchte jedoch das der User dies nicht selbst tun muss. Ich möchte das ein Programm das für ihn tut und dieses Menü damit praktisch direkt überspringt.

Soweit ich nun weiß wäre das über das WIN API möglich. Kann natürlich sein das ich mich da irre. Wäre es nun möglich in Blitz Basic (welche Version auch immer) ein Programm zu schreiben welches in dieser Windows Anwendung die Enter Taste drückt? Wenn ja , wie müsste ich dies bewerkstelligen? Wäre über Infos und Beratung in dieser Richtung recht glücklich.


MFG Makenshi
 

gamble

BeitragMi, Jan 11, 2006 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
WinAPI ist schon richtig. Du wirst wahrscheinlich erst das Handle des entsprechenden Fensters herausbekommen müssen, um dann mit SendMessage eine Nachricht an das Fenster zu schicken. Kannst ja mal in der MSDN gucken.

Ich glaube das Thema hatten wir auch schon. Die Suche ergibt bestimmt was vernünftiges Wink

skey-z

BeitragMi, Jan 11, 2006 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
habe auch mal gehäört, dass man mit ner WinApi nen "Tastendruck simulieren" kann, such mal hier im Forum, wenn da nichts dabei ist, kanste dich ja noch durch msdn.com wühlen, da findet man eigentlich alle windows funktionen, weiß jedoch nicht wie, die Seite ist sehr komplex, oder du wartest, bis dir jemand hier ne bessere Antwort geben kann.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Makenshi

BeitragMi, Jan 11, 2006 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Huch gab es schon?^^"
Nun gut , ich werde mal die Forensuche konsultieren...wer zu dem Thema trotzdem noch was nützlich zu sagen hat ist natürlich eingeladen dies zutun.

Edit :

Wie verhält sich das BB Programm eigentlich im Hintergrund? Bemerkt der User das es im Hintergrund gestartet wird? Beeinflusst es den Programmablauf des aktuellen Programms?

Edit2 :

https://www.blitzforum.de/viewtopic.php?t=5643 <-- habe jetzt das hier gefunden.
Sieht recht vielversprechend aus. Jedoch hab ich hierbei 2 Probleme :

1. Kann man streichen. Die DLL ist ja bei Windows dabei ^^"""

2. .lib "user32.dll"
Presskey(K%,S%,F%,E%):"keybd_event"

Das wäre ja dann der Befehl mit Parametern.
Das müsste ich ergo in ein Blitz Basic Program umsetzen und dieses dann starten lassen wenn mein Programm startet?
Dann wird mein BB Programm gestartet und in meiner Anwendung mit dem Menü wird dann die Enter Taste gedrückt?

Soweit richtig verstanden?
 

Makenshi

BeitragDo, Jan 12, 2006 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe mir wird der Doppelpost einmal erlaubt. Ich wollte eine Nachricht hinterlassen...leider wird ja bei einem Editieren nicht angezeigt das etwas neues in den Thread geschrieben wurde.

Also ich stehe momentan wie folgt :

https://www.blitzforum.de/viewtopic.php?t=5643

Ich bin den Anweisungen in diesem Thread gefolgt. Ich hab die user32.dll aus dem system32 Ordner in den Userlibs Ordner im Blitz Basic 3D Ordner hineinkopiert. Dann habe ich eine entsprechende "user32.decls" dazu geschrieben. Diese sieht so aus :

Code: [AUSKLAPPEN]

.lib "user32.dll"
Presskey(K%,S%,F%,E%):"keybd_event"


Dann habe ich versucht den Befehl in einem BB Programm zu nutzen.
Dies sieht wie folgt aus :

Code: [AUSKLAPPEN]

;Presskey Tastencode,0,drücken(0)/loslassen(2),0

Presskey 65,0,0,0

End


65 scheint der Code für ein "a" zu sein.
Jedoch...wie teste ich denn nun den Effekt? Ich habe einmal den Windows Editor aufgerufen und dann das Programm ausgeführt. Leider schien kein Effekt aufzutreten. Auch sonst geschah nichts. Mein Gedanke war , da der Befehl ja einen Tastendruck in einem anderen Programm simulieren sollte würde bei dem Editor ein "a" auftauchen.

Wie kann ich den Effekt dieses Befehls testen? Mache ich bei seinem Aufruf irgendetwas falsch?
 

gamble

BeitragDo, Jan 12, 2006 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube die Methode die du gefunden hast eignet sich nur, um einen Tastendruck im eigenen Fenster zu simulieren.
 

Makenshi

BeitragDo, Jan 12, 2006 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
So scheint es. Habe das ganze jetzt über eine Basic ähnliche Sprache gelöst.
Dieser Thread kann also von mir aus geschlossen werden ^^

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group