ההודעה WM_KEYDOWN מוצב את החלון עם מוקד לוח המקשים בעת הקשה על מקש שאינם של המערכת. מפתח שאינם של המערכת הוא מפתח לחוץ כאשר מקש alt לחוץ לא.
WM_KEYDOWN nVirtKey = wParam (int); / / קוד מקש וירטואלי lKeyData = lParam; / / נתוני מפתח
| ערך | תיאור |
|---|---|
| 0–15 | ציון ספירת חזרה להודעה הנוכחית. הערך הוא מספר פעמים שההקשה הוא חזר אוטומטית של המשתמש החזקת המקש לחוץ. אם ההקשה מתקיים ארוך מספיק, נשלחות הודעות מרובות. עם זאת, הספירה החוזרת אינו פועל באופן מצטבר. |
| 16–23 | ציון קוד סריקה. הערך תלוי יצרן הציוד המקורי (OEM). |
| 24 | קביעה אם המפתח הוא מפתח מורחבים, כגון alt ימני ומקש ctrl מופיעים בלוח המקשים משופרת 101-102-מקש או. הערך הוא 1, אם הוא מקש מורחב; אחרת, היא 0. |
| 25–28 | שמורות; אל תשתמש. |
| 29 | ציון קוד הקשר. הערך הוא תמיד 0 עבור הודעה WM_KEYDOWN. |
| 30 | מציין את מצב מפתח הקודם. הערך הוא 1, אם המפתח נמצא למטה לפני שליחת ההודעה, או שהוא 0 אם המפתח הוא למעלה. |
| 31 | מציין את מצב המעבר. הערך הוא תמיד 0 עבור הודעה WM_KEYDOWN. |
יישום צריך להחזיר אפס אם מעבד הודעה זו.
אם הקשה על מקש f10, הפונקציה DefWindowProc מגדיר דגל פנימי. כאשר DefWindowProc מקבל את ההודעה WM_KEYUP, הפונקציה בודקת אם הדגל פנימי מוגדר, אם כן, ישלח הודעה WM_SYSCOMMAND אל החלון הראשי. הפרמטר wParam ההודעה מוגדר SC_KEYMENU.
בשל תכונת autorepeat, אחד או יותר WM_KEYDOWN הודעה מתורגמנות לפני הודעה WM_KEYUP מוצב. ניתן להשתמש במצב מפתח הקודם (סיבית-30) כדי לקבוע אם הודעה WM_KEYDOWN מציין את המעבר זכות ראשונים או מעבר חוזרות ונשנות כלפי מטה.
עבור לוחות מקשים משופר 101 - ו 102 מקשים, מפתחות המורחבת הם alt ימינה ומקש ctrl במקטע הראשי של לוח המקשים; תוספות, דל, ביתית, קצה, עמוד כלפי מעלה, page down ובמקשי החצים באשכולות משמאל הנומרית; ו התהום (/) והזן מפתחות הנומרית. לוחות מקשים אחרים עשויים לתמוך סיביות מפתח מורחב בפרמטר lKeyData.
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winuser.h.
מבט כולל על לוח המקשים קלט, הודעות קלט של לוח מקשים, DefWindowProc, WM_CHAR, WM_KEYUP, WM_SYSCOMMAND