Hi, <br>Ich will an eine Anwendung die Message WM_CHAR schicken. Ich weiß aber nicht welche Parameter ich mitgeben muss. <br><br>PostMessage(hWin, WM_CHAR, ?, ?);<br><br>In der Hilfe stehen zwar irgendwelche Zahlen, ich verstehe aber nur Bahnhof. (p.s. ich brauch das um die Taste "Q" zu simulieren)<br>
Announcement
Collapse
No announcement yet.
Wie verwende ich WM_CHAR ?
Collapse
X
-
Aus der alten Hilfe von Borland C++3.1:
WM_CHAR
Diese Botschaft geht aus der Übersetzung einer WM_KEYUP- oder WM_KEYDOWN-Botschaft hervor. Sie enthält den Wert der gedrückten oder losgelassenen Taste.
Parameter Beschreibung
wParam Enthält den Wert der Taste.
lParam Enthält Wiederholungszähler, Scan-Code, Code für den Tastaturzustand, vorhergehenden Tastenstatus und Kontextcode entsprechend der nachfolgenden Liste:
Bit Wert
0-15 (niederwertiges WORD) Wiederholungszähler (dessen Wert ergibt sich aus der Zeit, während der der Anwender die Taste gedrückt hält).
16-23 (niederes Byte des höherwertigen WORD) Scan-Code (OEM-abhängiger Wert).
24 Hat den Wert 1, wenn eine zusätzliche Taste, z.B. Funktionstaste oder eine Taste des numerischen Tastenblocks verwendet wird.
25-26 Wird nicht verwendet.
27-28 Zur internen Verwendung durch Windows.
29 Kontextcode (1, wenn die Taste ALT gleichzeitig mit der Taste gedrückt wird, sonst 0).
30 Vorhergehender Tastenstatus (1, wenn die Taste vor Übergabe der Botschaft. gedrückt wurde, 0, wenn die Taste nicht gedrückt wurde).
31 Tastenzustand (1, wenn die Taste losgelassen, 0, wenn sie gedrückt wird).
Hinweis
Da es keine Eins-zu-Eins-Entsprechung zwischen gedrückten Tasten und erzeugten Zeichenbotschaften gibt, ist der Inhalt des höherwertigen WORD des Parameters lParam ohne Bedeutung für die Anwendung. Die Information im höherwertigen WORD dient ausschließlich der WM_KEYUP- oder WM_KEYDOWN
-Botschaft, die der Übergabe der Zeichenbotschaft vorangeht.
Bei erweiterten IBM-Tastaturen mit 101 oder 102 Tasten gelten folgende Tasten als zusätzliche: die rechte ALT- und Strg-Taste im Hauptbereich der Tastatur, Einfg, Rück, Pos1, Ende, SeiteAuf,SeiteAb und die Cursor-Tasten im Block zwischen dem Nummernblock und der alphanumerischen Tastatur sowie die Divisions- (/) und die Eingabetaste im Nummernblock. Auch andere Tastaturen unterstützen möglicherweise das Zusatztasten-Bit im Parameter lParamGünther
Comment
-
lParam ist ein 32 Bit - WORD. Die einzelnen Bit's sind von 0 bis 31 numeriert. 16-23 heißt also, daß die Bit's 16 bis 23 diesen Scan-Code enthalten. 32 Bit sind auch 4 Bytes. Die ersten 2 Bytes, also Bit 0 bis 15, sind das niederwertige WORD, Bit 16 bis 31 sind das höherwertige WORD, Bit 16 bis 23 sind die ersten 8 Bits davon, also das niedere Byte des höherwertigen WORDGünther
Comment
Comment