الملخص

تفيد الوثائق الخاصة ب سيتكيبواردستاتي () بشكل صحيح انه لا يمكنك استخدام واجهه برمجه التطبيقات هذه للتبديل بين المفاتيح 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 );   }

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

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×