You have multiple accounts
Choose the account you want to sign in with.

סיכום

התיעוד עבור SetKeyboardState () מציין כהלכה שאין באפשרותך להשתמש ב-API זה כדי להחליף את מקשי ה-NUM LOCK, CAPS LOCK ו-SCROLL lock. באפשרותך להשתמש בkeybd_event () כדי להחליף את מקש NUM LOCK, CAPS LOCK ולגלול את מקשי הנעילה תחת Windows NT. אותה הטכניקה פועלת לצורך החלפת אותיות מובילים וגלילה לנעילה מתחת ל-Windows 95, אך היא לא תפעל עבור NUM LOCK.

מידע נוסף

התוכנית לדוגמה הבאה הופכת את נורית ה-NUM LOCK לפעילה אם היא מבוטלת. הפונקציה SetNumLock המוגדרת כאן מדמה הקשה על מקש NUM LOCK, תוך שימוש בkeybd_event () עם מפתח וירטואלי של VK_NUMLOCK. נדרש ערך בוליאני המציין אם האור אמור להיות כבוי (FALSE) או on (TRUE). ניתן להשתמש באותה שיטה עבור מקש CAPS LOCK (VK_CAPITAL) ובמקש SCROLL LOCK (VK_SCROLL).

קוד לדוגמה

   /* Compile options needed:   */    #include <windows.h>   void SetNumLock( BOOL bState )   {      BYTE keyState[256];      GetKeyboardState((LPBYTE)&keyState);      if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||          (!bState && (keyState[VK_NUMLOCK] & 1)) )      {      // Simulate a key press         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | 0,                      0 );      // Simulate a key release         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,                      0);      }   }   void main()   {      SetNumLock( TRUE );   }

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלכם?

תודה על המשוב!

×