AGB  ·  Datenschutz  ·  Impressum  







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

Tastendruck überschreibbar?

Ein Thema von Ack · begonnen am 10. Apr 2007 · letzter Beitrag vom 18. Jan 2008
Antwort Antwort
Ack

Registriert seit: 12. Apr 2006
Ort: Berlin
14 Beiträge
 
Delphi 7 Professional
 
#1

Tastendruck überschreibbar?

  Alt 10. Apr 2007, 14:08
Weiß jemand wie und ob man überhaupt einen Tastendruck systemweit überschreiben kann?
So dass beispielsweise wenn die Taste A gedrückt wird, der Buchstabe B geschrieben wird.

Kann das wenn überhaupt auch mit einem Tastatur Hook gelöst werden?
Bisher war meine Suche nach einem Lösungsansatz leider erfolglos was ich mich fast vermuten lässt das es gar nicht möglich ist.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Tastendruck überschreibbar?

  Alt 10. Apr 2007, 14:28
Jo, das ist möglich. Man könnte die entsprechende Taste als globalen Hotkey (THotkeymanager) registrieren und als Antwort auf das Ereignis die enstprechende andere Taste virtuell (Sendkeys, keyb_event, ...) drücken.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Ack

Registriert seit: 12. Apr 2006
Ort: Berlin
14 Beiträge
 
Delphi 7 Professional
 
#3

Re: Tastendruck überschreibbar?

  Alt 10. Apr 2007, 14:38
Perfekt. Genau das was ich gesucht habe.
Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Tastendruck überschreibbar?

  Alt 10. Apr 2007, 15:03
mit Hooks geht es übrigens auch.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ShihiZu

Registriert seit: 17. Jan 2008
2 Beiträge
 
Delphi 7 Personal
 
#5

Re: Tastendruck überschreibbar?

  Alt 17. Jan 2008, 19:44
Ich greife das Thema auf, weil das hier der passendste Thread ist, den ich gefunden habe zu meinem Problem. Theoretisch habe ich dasselbe Problem wie der Threadersteller.
Ich möchte, dass wenn Taste A gedrückt wird, Taste B gesendet wird (als kleine Randnotiz: ich habe keine bösen Absichten, ich benötige es nur, weil ein Programm gewisse Tasten als Hotkeys nicht unterstützt, die ich verwenden muss).

Das mit dem Senden ist auch überhaupt kein Problem. Das mach ich mit keybd_event. Das Abfangen hingegen bereitet mir ein wenig Schwierigkeiten.
Durch Suchen habe ich zum einen die Möglichkeit gefunden, das Abfangen mit RegisterHotKey oder mit Hooks zu gestalten. Prinzipiell möchte ich für mein so simples Programmm auf Hooks verzichten. Das Problem an RegisterHotKey ist aber, dass ich es nicht hinbekomme, einen HotKey ohne SHIFT, ALT oder STRG zu definieren, denn ich möchte die Taste "ö" abfangen.
Ich habe versucht, es mit 0 anstatt MOD_CONTROL oder andere Werte versucht, was leider nicht klappt:
RegisterHotKey(Handle, HKoe, 0, VkKeyScan('ö')); Geht das mit RegisterHotKey überhaupt, setz ich einfach was falsches ein? Bei der MSDN erhalte ich keine Hinweise darauf, falls ich keine der Modifiers verwenden möchte.
Wenn das mit RegisterHotKey nicht klappt, gibt es einen einfacheren Weg als Hooks, mein Problem zu lösen, oder muss ich mich wirklich in Hooks & DLL einarbeiten?

Gruss
Shi
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Tastendruck überschreibbar?

  Alt 17. Jan 2008, 19:53
Geht das mit RegisterHotKey überhaupt Ja, Registerhotkey ist auch richtig aufgerufen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
ShihiZu

Registriert seit: 17. Jan 2008
2 Beiträge
 
Delphi 7 Personal
 
#7

Re: Tastendruck überschreibbar?

  Alt 18. Jan 2008, 17:40
Problem gelöst, hatte bei der procedure-Deklaration von WMHotKey das message WM_HOTKEY; vergessen. Vielen Dank!
  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 18:27 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