vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Tastencode abfangen 
Autor: BasTler
Datum: 07.06.05 12:03

Hallo Wollez,

weiß zwar nicht, ob das so gut ist (der Anwender es toll findet), aber vielleicht kannst du über folgende API's was machen
GetAsyncKeyState (User32) stellt fest, ob eine Taste betätigt wurde.
GetKeyboardState (User32) kopiert den Status der 256 möglichen Tasten der virtuellen Tastatur in den durch lpKeyState bezeichneten Puffer. Das obere Bit eines jeden Bytes wird auf 1 gesetzt, wenn die Taste gedrückt ist, auf 0, wenn die Taste nicht betätigt wird. Das untere Bit wird auf 1 gesetzt, wenn die Taste seit dem Startup eine ungerade Anzahl mal betätigt wurde. Andernfalls enthält es den Wert 0.
GetKeyNameText (User32) ermittelt eine Zeichenkette, die den Namen einer Taste enthält. Der Tastaturtreiber enthält eine Liste von Namen in Form von Zeichenketten für die Tasten, deren Namen länger als ein einzelnes Zeichen sind. Der Tastenname wird entsprechend der Tastenanordnung der installierten Tastatur übersetzt.
GetKeyState (User32) ermittelt den Status einer Taste. Der Status zeigt an, ob die Taste gedrückt oder arretiert ist.
KeyboardProc (IMPORT) Rückruffunktion, die immer beim Aufruf der Funktion GetMessage bzw. PeekMessage aufgerufen wird, wenn eine Nachricht vom Typ WM_KEYUP bzw. WM_KEYDOWN eingetroffen ist.
OemKeyScan (User32) überträgt die OEM-ASCII-Codes 0 bis 0x0FF in die OEM Scan-Codes und Shift-Zustände. Sie stellt dadurch Informationen bereit, die es einem Programm ermöglichen, einen OEM-Text an ein anderes Programm zu senden, indem es eine Tastatureingabe simuliert.
SetKeyboardState (User32) kopiert die 256 Bytes, auf die der Parameter lpbKeyState verweist, in die Tastaturstatus-Tabelle von Windows.
TranslateAccelerator (User32) bearbeitet Tastenkürzel für Menübefehle. Das heißt, die Funktion TranslateAccelerator übersetzt die WM_KEYUP- und WM_KEYDOWN-Nachrichten in WM_COMMAND- oder WM_SYSCOMMAND- Nachrichten, wenn in der Tastenkürzeltabelle der Anwendung ein Eintrag für die Taste vorhanden ist.
TranslateMessage (User32) übersetzt virtuelle Tastaturnachrichten in Zeichennachrichten um. Das Drücken von WM_KEYDOWN- bzw. WM_KEYUP-Kombinationen wird beispielsweise in die Nachricht WM_CHAR bzw. WM_DEADCHAR übersetzt und in die Nachrichtenschlange der Anwendung gestellt. Beim nächsten Aufruf der Funktion GetMessage bzw. PeekMessage wird die Nachricht dann aus der Nachrichtenschleife wieder ausgelesen.
VkKeyScan (User32) übersetzt ein Zeichen in den zugehörigen virtuellen Tastencode und Shift-Status für die aktuelle Tastatur. Bei erfolgreicher Funktionsausführung liefert VkKeyScan den virtuellen Tastencode im Low-Order-Byte zurück, den Shift-Status für die aktuelle Tastatur im High-Order-Byte.
Shift-Status für die aktuelle Tastatur im High-Order-Byte:
Bit 1 - Die Taste [Shift] ist gedrückt.
Bit 2 - Die Taste [Strg] ist gedrückt.
Bit 4 - Die Taste [Alt] ist gedrückt.
VkKeyScanEx (User32) wie VkKeyScan. Zusätzlich wird die Landessprache und das physikalische Tastaturlayout berücksichtigt. Die Funktion ist nur unter Windows95 und Windows NT verfügbar.

Viel Erfolg
BAStler
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tastencode abfangen1.621wollez06.06.05 20:19
Re: Tastencode abfangen1.505BasTler07.06.05 12:03

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel