GetKeyboardState

GetKeyboardState fonksiyonu 256 sanal tuşlar durumu belirtilen arabelleğine kopyalar.

bool GetKeyboardState ()  pbyte  lpKeyState / / durumu veri almak için dizi işaretçisine);
 

Parametreleri

lpKeyState
Sanal her anahtar için durum verileri alacak 256 bayt dizi işaretçisine.

Dönüş değerleri

İşlev başarılı olursa, dönüş değeri sıfır.

İşlev başarısız olursa, dönüş değeri sıfırdır. Genişletilmiş hata bilgilerini için GetLastError.

Açıklamalar

Bir uygulama, sanal tuşlar geçerli durumunu almak için bu işlevi çağırabilirsiniz. İş parçacığı durumu değiştikçe klavye iletileri, ileti sırasından kaldırır. Klavye ileti parçacığının ileti sırasına gönderilen, ne de klavye iletilerini deftere veya ileti diğer konuları sıralardan alınabilir olarak değişiyor mu durumu değiştirmez. (İstisna: üzerinden bağlı olan ipler AttachThreadInput payı aynı klavye durumu.)

İşlevi, lpKeyState parametresi tarafından işaret dizinin her üyenin durumu veri için sanal bir anahtar içerir. En yüksek sıralı bit 1 ise, aşağı anahtarıdır; Aksi takdirde, bu kadar 's. Alt sıra biti 1 ise, anahtar toggled. Caps lock tuşu gibi Eğer açık anahtar toggled. Bu anahtar devre dışı ve alt sıra biti 0 ise untoggled. Bir geçiş anahtarının gösterge y?y?y (varsa) klavye anahtar ne zaman toggled ve anahtar untoggled ne zaman kapalı olacak.

Tek bir anahtar için durum bilgilerini almak için GetKeyState işlevini kullanın. Karşılık gelen klavye iletiyi ileti sıradan alınan olup ne olursa olsun bir tek anahtar geçerli durumunu almak için GetAsyncKeyState işlevini kullanın.

Uygulama sanal-anahtar kodu sabitleri VK_SHIFT, vk_control ve vk_menu lpKeyStatetarafından işaret bir dizi indisleri kullanabilirsiniz. Bu durum üst karakter, ctrl veya alt tuşları sol ile sağ arasında ayrım olmadan verir. Uygulama aşağıdaki anahtar sanal sabit indis bu tuşları sol ve sağ örnekleri arasında ayırt etmek için de kullanabilirsiniz.

VK_LSHIFT VK_RSHIFT
VK_LCONTROL VK_RCONTROL
VK_LMENU VK_RMENU

Bu sol ve sağ ayrım sabitler sadece GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyStateve MapVirtualKey işlevleri ile uygulama kullanılabilir.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Desteklenmeyen.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanma.

Ayrıca bkz:

Klavye giriş özeti, klavye girişi işlevleri, GetKeyState, GetAsyncKeyState, MapVirtualKey, SetKeyboardState

Index