Показать полную графическую версию : Как различить левый и правый Ctrl, Sift, Alt под 98
Это все под 98, под XP проблем нет.
В msdn написано что различить можно с помощью GetKeyState(VirtKey);
где VirtKey один из:
VK_LSHIFT,VK_RSHIFT,VK_LCONTROL,VK_RCONTROL,VK_LMENU,VK_RMENU
Но GetKeyState всегда возвращает 0
Что посоветуете?
hasherfrog
03-08-2004, 12:26
Читаем pdsk docs:
These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions.
...
Minimum operating systems Windows 95, Windows NT 3.1
Так что ищите багу у себя :idontnow:.
Бага не нашел, да там и всего-то несколько строк.
Тот-же самый код ( даже тот-же екзешник) под XP работает нормально.
Не понимаю в чем дело.
Добавлено:
Покопался в psdk,
В описании одной из приведенных вами функций, а именно GetAsyncKeyState есть ремарка:Windows 95/98/Me: Windows 95 does not support the left- and right-distinguishing constants. If you call GetAsyncKeyState with these constants, the return value is zero. То есть под 98 работать и не должна, хотя в описании GetKeyState этот факт скромно умалчивается.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.