self made is the best made
Für solche Dinge sollte man Scan-Codes (DIK) wieder zu Virtual Key-Codes (VK) umwanden können, hilft einen sehr viel
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
|
// Konvertiert Windows Virtual Key Code zu Scan Code
unsigned long virtual_key_to_scan_code (unsigned long virtual_key)
{
return (static_cast<unsigend long>(::MapVirtualKeyEx (virtual_key, 0, ::GetKeyboardLayout (::GetCurrentThreadId ()))));
}
// Konvertiert Scan Code zu Windows Virtual Key Code
unsigned long scan_code_to_virtual_key (unsigned long scan_code)
{
return (static_cast<unsigend long>(::MapVirtualKeyEx (scan_code, 1, ::GetKeyboardLayout (::GetCurrentThreadId ())));
}
|
Wenn man das kann, stehen einem sogesehen in diesem Bereich alle Türen offen! Dann geht man auf die MSDN, sucht dort mal nach "Keyboard Input" und findet das:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput.asp
Boah ist das geil
Alle Funktionen die es gibt, auch sowas wie "ToUnicodeEx" uvm! Einfach geil
Kurz: Dort findest Du alles was Du brauchst. :roll:
Bevor Du jetzt anfängst für jede Taste mit "if-else" rumzuhantieren und Dir den Performace-Einbruch der Generation holst, geh auf die MSDN
- Patrick, der MSDN User.