GetKeyboardState

הפונקציה GetKeyboardState מעתיקה את המצב של מפתחות וירטואליים 256 אל המאגר שצוין.

(BOOL GetKeyboardState PBYTE  lpKeyState / / מצביע למערך לקבל מצב נתונים);
 

פרמטרים

lpKeyState
מצביע למערך 256 בתים אשר יקבל את נתוני המצב עבור כל מפתח וירטואלי.

להחזיר ערכים

אם הפונקציה מצליחה, הערך המוחזר אינו אפס.

אם הפעולה תיכשל, הערך המוחזר הוא אפס. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.

הערות

יישום ניתן לקרוא לפונקציה זו כדי לאחזר את המצב הנוכחי של כל מפתחות וירטואליים. שינויי מצב הליך משנה מסירה הודעות בלוח המקשים שלו תור הודעות. המצב אינו משתנה כפי מוצבות הודעות בלוח המקשים כדי תור הודעות של הליך המשנה, וגם אינה שנה לפי לוח המקשים הודעות שהוצבו או אחזור תורי הודעות של הליכי משנה אחרים. (חריג: הליכי משנה המחוברים דרך AttachThreadInput לשתף לאותו מצב לוח המקשים.)

כאשר הפונקציה תחזיר, כל חבר של המערך הצביע על-ידי הפרמטר lpKeyState מכיל נתוני המצב עבור מפתח וירטואלי. אם הסיבית הגבוהות הוא 1, המפתח נמצא למטה; אחרת, היא למעלה. אם בסיבית הנמוכה הוא 1, המקש לחוץ. מפתח, כגון caps lock מקש לחוץ אם היא מופעלת. המפתח אינו מופעל, untoggled אם בסיבית הנמוכה היא 0. מקש דו-מצבי נורית מחוון (אם בכלל) בלוח המקשים תהיה כאשר המקש לחוץ, וביטול כאשר המפתח הוא untoggled.

כדי לאחזר את מידע המצב עבור מקש בודדות, השתמש בפונקציה GetKeyState . כדי לאחזר את המצב הנוכחי עבור מפתח בודדים להתחשב אם ההודעה מקלדת המתאימה יאוחזרו מתור ההודעות, השתמש בפונקציה GetAsyncKeyState

יישום יכול להשתמש בקבועים קוד מקש וירטואלי VK_SHIFT, VK_CONTROL, VK_MENU כמו מדדי לתוך המערך הצביע על-ידי lpKeyState. זה נותן את המצב של shift, ctrl, או מקשי alt ללא הבחנה בין שמאל וימין. ליישום יש אפשרות להשתמש גם הקבועים הבאים של קוד מקש וירטואלי כמו מדדי כדי להבחין בין המופעים השמאליים והימניים של מפתחות אלה.

VK_LSHIFT VK_RSHIFT
VK_LCONTROL VK_RCONTROL
VK_LMENU VK_RMENU

בקבועים אלה הבחנה משמאל לימין זמינים ליישום רק דרך GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyStateופונקציות MapVirtualKey.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.

ראה גם

מבט כולל על לוח המקשים קלט, בפונקציות קלט של לוח מקשים, GetKeyState, GetAsyncKeyState, MapVirtualKey, SetKeyboardState

Index