الملخص

تفيد الوثائق الخاصة ب سيتكيبواردستاتي () بشكل صحيح انه لا يمكنك استخدام واجهه برمجه التطبيقات هذه للتبديل بين المفاتيح NUM LOCK و CAPS LOCK و SCROLL LOCK. يمكنك استخدام keybd_event () لتبديل المفاتيح NUM LOCK و CAPS LOCK و SCROLL LOCK ضمن Windows NT. تعمل التقنية نفسها لتبديل المفتاح CAPS LOCK والتمرير للتامين ضمن Windows 95 ، ولكنه لن يعمل مع المفتاح NUM LOCK.

مزيد من المعلومات

يحول البرنامج النموذجي التالي الإصدار NUM LOCK عند إيقاف تشغيله. الدالة سيتنوملوك المعرفة هنا تحاكي بالضغط علي المفتاح NUM LOCK ، باستخدام keybd_event () مع مفتاح افتراضي VK_NUMLOCK. انها تاخذ قيمه منطقيه تشير إلى ما إذا كان يجب إيقاف تشغيل الضوء (FALSE) أو تشغيل (TRUE). يمكن استخدام التقنية نفسها لمفتاح CAPS LOCK (VK_CAPITAL) ومفتاح تامين التمرير (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 );   }

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.