AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastendruck simulieren

Ein Thema von vlees91 · begonnen am 20. Apr 2004 · letzter Beitrag vom 20. Apr 2004
Antwort Antwort
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#1

Tastendruck simulieren

  Alt 20. Apr 2004, 15:40
Hallo,

weiß jemand, wie man mit Delphi 6 eine Taste simuliert, aber diese soll von einem inaktiven(!!!), nicht zu meinem Projekt gehörenden, Prog erkannt werden. Z.B.: Ich drücke Z und an Notepad wird ein B geschickt.

Ich habe einen Quellcode von Ensacom.de, der aber einen Fehler verursacht:

Delphi-Quellcode:
//Zuerst ermittelt man das Fensterhandle mit folgender Anweisung:

  FindWindow((Fensterklasse,wenn bekannt),Fenstertitel).

//Anschließend holt man das Fenster mit

  SetForegroundWindow(Fensterhandle)nach vorn. //Dies ist jedoch nicht notwendig.

{
Nun kann man mit keybd_event eine Tastenkombination an das Fenster schicken.
Wenn man mit FindWindowEx(ParentHandle, nil,nil,nil) rekursiv die entfernte
Anwendung
nach dem gewünschten Button durchsuchen lässt, kann man hinterher folgende
Messages senden:
}


  PostMessage(Handle.Kind,WM_LBUTTONDOWN,MK_LBUTTON,0);
  PostMessage(Handle.Kind,WM_LBUTTONUP,0,0);

//Und schon wird der Button gedrückt.
Allerdings meint Delphi, dass (bei den beiden "PostMessage-Zeilen") Handle.Kind falsch ist.


Tschüss
der auf Antwort wartende Jasper
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Tastendruck simulieren

  Alt 20. Apr 2004, 15:45
Da muss das Handle des Kontrolls hin an das du die Nachricht schicken willst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#3

Re: Tastendruck simulieren

  Alt 20. Apr 2004, 15:49
Einfach "eine Taste drücken" simulieren kann man mit den SRUtils ganz gut, allerdings dann nicht an eine andere Anwendung, sondern an das aktive Fenster.
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#4

Re: Tastendruck simulieren

  Alt 20. Apr 2004, 15:58
Also entweder so: das Drücken von Tastatur Tasten simulieren
Oder Du machst es mit sendkeys, wie hier beschrieben: Delphi Praxis

gruß

Evian
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Tastendruck simulieren

  Alt 20. Apr 2004, 16:30
Zitat von Luckie:
Da muss das Handle des Kontrolls hin an das du die Nachricht schicken willst.
Also die Ausgabe von FindWindow.

PS: Bei FindWindow muss ja der Fenstertitel angegeben werden, ist das beim Editor zum Beispiel "Neu Textdokument.txt - Editor"?
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Tastendruck simulieren

  Alt 20. Apr 2004, 17:07
Ich habe das jetzt ausprobiert, er findet das Fenster auch, aber wie kann ich einen Klick auf einer bestimmten Stelle anwenden und wie kann ich Buchstaben zum Beispiel in Notepad schreiben.
vlees91
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:57 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