Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Keyboardlayout auslesen? (https://www.delphipraxis.net/142770-keyboardlayout-auslesen.html)

The_Unknown 3. Nov 2009 13:50


Keyboardlayout auslesen?
 
Hallo,

ich weiß bereits, dass man mit GetKeyboardLayout das aktive Keyboardlayout auslesen kann.
Nun brauche ich die Codes für die deutschen Layouts, sprich Deutsch in Deutschland, Österreich, Schweiz, Liechtenstein und Luxemburg.

Wenn ich IntToStr(GetKeyboardLayout(0)) ausgeben lasse, erscheint ein sehr großer Wert, den ich nicht sofort einordnen kann.

Gibt es irgendwo eine Tabelle, wo die Codes drinstehen? Ich brauche da nämlich eine sichere Zuordnung.

Vielen Dank!

Ciao The_Unknown

Luckie 3. Nov 2009 13:55

Re: Keyboardlayout auslesen?
 
Wo guckt man bei einer Windows API Funktion am besten nach?

http://msdn.microsoft.com/en-gb/libr...8VS.85%29.aspx

The_Unknown 3. Nov 2009 13:58

Re: Keyboardlayout auslesen?
 
Mhm, nur dort stehen die Konstanten irgendwie nicht :(

Luckie 3. Nov 2009 14:01

Re: Keyboardlayout auslesen?
 
Auf der Seite sind auch Links, die man mal anklicken könnte.

The_Unknown 3. Nov 2009 14:05

Re: Keyboardlayout auslesen?
 
Das ist schon richtig, aber leider gibt es dort nur einen Verweis auf "Language Identifier", was mir aber nicht weiterhilft, da ich ja die KeyboardLayout-Konstanten suche. Oder verstehe ich da was falsch?

Aphton 3. Nov 2009 14:12

Re: Keyboardlayout auslesen?
 
:wall:

http://msdn.microsoft.com/en-gb/libr...8VS.85%29.aspx :
[Return Value]-Language Identifier.
[See Also]-Language Identifier Constants and Strings
=
http://msdn.microsoft.com/en-gb/libr...8VS.85%29.aspx

Bemüh dich nächstes mal selber darum!

MfG

Luckie 3. Nov 2009 14:16

Re: Keyboardlayout auslesen?
 
Sach mal: GetKeyboardLayout Function -> Language Identifier -> Language Identifier Constants and Strings :roll:

The_Unknown 3. Nov 2009 14:34

Re: Keyboardlayout auslesen?
 
Sorry erstmal, bin etwas übermüdet ;)

Die Tabelle hatte ich natürlich schon gefunden, aber keiner dieser Hexa-Werte sieht ähnlich aus, wie der Wert, der herauskommt, wenn man das Ergebnis von GetKeyboardLayout(0) als String ausgeben lässt: '67568647'.

The_Unknown 3. Nov 2009 16:16

Re: Keyboardlayout auslesen?
 
Keiner ne Idee, oder bin ich wieder blind :)?

mirage228 3. Nov 2009 16:37

Re: Keyboardlayout auslesen?
 
Da steht auch was von Low und High Word auf der Seite der Funktion ... :P

P.S.: Beiträge pushen erst nach 24 Stunden bitte!

The_Unknown 3. Nov 2009 17:22

Re: Keyboardlayout auslesen?
 
OK, sowas überliest man dann mal ;)

Ich habe jetzt mal den Test gemacht mit folgendem Code:
Delphi-Quellcode:
showmessage(inttostr(GetKeyboardLayout(0) div 65536));
Dieser liefert als Ergebnis für Deutsch (Deutschland, Österreich, Liechtenstein, Luxemburg) 1031, für Deutsch (Schweiz) 2055 und für Englisch (USA) 1033.

Nun stellt sich mir die Frage, ob das ganze so stimmen kann. Wieso hat die Schweiz einen anderen Code als die anderen deutschsprachigen Länder?

Luckie 3. Nov 2009 19:19

Re: Keyboardlayout auslesen?
 
Weil die Schweizer zum Beispiel kein "ß" auf der Tastatur haben, weil es das bei denen nicht gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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