أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة YasserKhalil الترقيم بشرط معين اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA

السلام عليكم ورحمة الله وبركاتة بحثت عن كود لتشغيل و ايقاف لمبات الثلاثة للكيبورد ( NumLock - CapsLock - ScrollLock ..



18-05-2020 01:39 مساء
fathy
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 17-03-2020
رقم العضوية : 18571
المشاركات : 89
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
يتابعهم : 3
يتابعونه : 1
قوة السمعة : 142
 offline 


السلام عليكم ورحمة الله وبركاتة 
 
بحثت عن كود لتشغيل و ايقاف لمبات الثلاثة للكيبورد 
( NumLock - CapsLock - ScrollLock )

و قمت بعمل 4 مديول 

لكل مديول بها اكواد لزر من الازرار الثلاثة و الرابع عبارة عن خصائص لوحة المفاتيح لمعرفة كتابة الكود فقط وليس لة علاقة بالازرار ( فقط للاطلاع علية )
و قمت بعمل 3 ازرار ماكرو للـ NumLock و 3 ايضاً للـ CapsLock و 3 للـ  ScrollLock
و الثلاثة مثل الاخرى في نظام تشغيل الكود زي بعض
 
اول زر يعطي تشغيل و ايقاف عند الضغط علية مرتين مرة للتشغيل ومرة للايقاف / ثاني زر يعطي تشغيل فقط  / ثالث زر يعطي ايقاف فقط

ولاكن يوجد مشكلة في CapsLock و ScrollLock  فقط : ...

1- اول زر لــ NumLock لا يوجد اي مشكلة في  الكود في 3 ازرار الماكرو عند تجربتة 
 
-------------------------------------------------------------------------------
 
2-  ثاني زر لــ CapsLock يوجد مشكلة في 2 زر ماكرو (يوجد مشكلة في زر التشغيل فقط / و يوجد مشكلة في  زر ايقاف فقط / و زر تشغيل و الايقاف لا يوجد مشكلة )
المشكلة عند الضغط على زر رقم 2 ( التشغيل فقط ) اول ضغطة يقوم بالتشغيل و ثاني ضغطة يتم الايقاف,  المفروض اذا ضغط اكثر من مرة يعطيني امر واحد هو تشغيل فقط و زر رقم 3 لا يعمل من الاصل و المفروض اذا وجد في حالة التشغيل يعطي امر ايقاف فقط .
-------------------------------------------------------------------------------
3- ثالث زر لــ ScrollLock يوجد مشكلة في 2 زر ماكرو ( يوجد مشكلة في زر التشغيل فقط / و يوجد مشكلة في  زر ايقاف فقط / و زر تشغيل و الايقاف لا يوجد مشكلة )
المشكلة عند الضغط على زر رقم 2 ( التشغيل فقط ) اول ضغطة يقوم بالتشغيل و ثاني ضغطة يتم الايقاف,  المفروض اذا ضغط اكثر من مرة يعطيني امر واحد هو تشغيل فقط و زر رقم 3 لا يعمل من الاصل و المفروض اذا وجد في حالة التشغيل يعطي امر ايقاف فقط .
 
-------------------------------------------------------------------------------
 
و قمت برفع الملف وبها توضيح اكثر وقمت بوضع كومنت في الخلايا لتوضيح المشكلة الخاصة بالزر 
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
اسف جدا اني طولت عليكم 
اتمنى يكون في حل ولكم جزيل الشكر 
صورة للتوضح 

MjU4Njg5MQ6666%D8%B5%D9%88%D8%B1%D8%A9%20%D9%84%D9%84%D8%AA%D9%88%D8%B6%D9%8A%D8%AD%20



 
  صورة للتوضيح .JPG   تحميل jpg صورة للتوضيح .JPG مرات التحميل :(3)
الحجم :(98.863) KB
 
  تشغيل و ايقاف لمبات الكيبورد.xlsm   تحميل xlsm مرات التحميل :(10)
الحجم :(36.433) KB


18-05-2020 06:48 مساء
مشاهدة مشاركة منفردة [1]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10445
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36552
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA
أخي الكريم فتحي
ما يظهر في الصور يظهر أنك لديك أكواد تعمل بدون مشاكل وأكواد تعمل بمشاكل
أين السؤال في الموضوع !!!!!!!؟

18-05-2020 09:16 مساء
مشاهدة مشاركة منفردة [2]
fathy
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 17-03-2020
رقم العضوية : 18571
المشاركات : 89
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
يتابعهم : 3
يتابعونه : 1
قوة السمعة : 142
 offline 
look/images/icons/i1.gif تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA
تعديل اربع ازرار التي بهم مشاكل محتاج اخليهم يشتغلو صح زي (  NumLock  )
اكيد جربت  الملف لو تجرب ازرار الـ  NumLock   مش هيكون في مشاكل 
لو جربت باقي الــ  CapsLock - ScrollLock  هتلاقي في خلل في وظيفة الكود من رغم كاتب الكود صح  زر رقم 2 سواء في ScrollLock   او CapsLock لو ضغط مرة يشتغل و لو ضغط مرة اخرى يعطي امر ايضاً ان اللمبة تنطفي المفروض كل ما ادوس على الزر رقم 2 يفضل منور زي ما هو 
و زر رقم 3 المفروض يطفي اللمبة و لو دوست علية تاني بردو المفروض يديني نفس النتيجة  بس الزر رقم 3 مش شغال  اصلا 

19-05-2020 12:29 صباحا
مشاهدة مشاركة منفردة [3]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10445
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36552
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA
قم بمسح كل ما لديك من الأكواد وأدرج موديول جديد ، حيث قمت بعمل توليفة تعمل للثلاثة أزرار ..
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VK_NUMLOCK = &H90
Private Const VK_CAPITAL = &H14
Private Const VK_SCROLL = &H91
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
           
Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End Type

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long

Function CheckOnOff(ByVal v)
    ReDim KeyboardBuffer(256) As Byte
    GetKeyboardState KeyboardBuffer(0)
    If KeyboardBuffer(v) And 1 Then CheckOnOff = True Else CheckOnOff = False
End Function

Public Sub ToggleButton(ByVal TurnOn As Boolean, ByVal v)
    Dim bytKeys(255) As Byte, bOn As Boolean, typOS As OSVERSIONINFO
    GetKeyboardState bytKeys(0)
    bOn = bytKeys(v)
    If bOn <> TurnOn Then
        If typOS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
            bytKeys(v) = 1
            SetKeyboardState bytKeys(0)
        Else
            keybd_event v, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
            keybd_event v, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
        End If
    End If
End Sub

'------------------------------------------------------------------------

Sub NumLockToggle()
    If CheckOnOff(VK_NUMLOCK) = False Then NumLockON Else NumLockOFF
End Sub

Sub NumLockON()
    ToggleButton True, VK_NUMLOCK
End Sub

Sub NumLockOFF()
    ToggleButton False, VK_NUMLOCK
End Sub

'------------------------------------------------------------------------

Sub CapsLockToggle()
    If CheckOnOff(VK_CAPITAL) = False Then CapsLockON Else CapsLockOFF
End Sub

Sub CapsLockON()
    ToggleButton True, VK_CAPITAL
End Sub

Sub CapsLockOFF()
    ToggleButton False, VK_CAPITAL
End Sub

'------------------------------------------------------------------------

Sub ScrollLockToggle()
    If CheckOnOff(VK_SCROLL) = False Then ScrollLockON Else ScrollLockOFF
End Sub

Sub ScrollLockON()
    ToggleButton True, VK_SCROLL
End Sub

Sub ScrollLockOFF()
    ToggleButton False, VK_SCROLL
End Sub

 

19-05-2020 01:49 صباحا
مشاهدة مشاركة منفردة [4]
fathy
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 17-03-2020
رقم العضوية : 18571
المشاركات : 89
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
يتابعهم : 3
يتابعونه : 1
قوة السمعة : 142
 offline 
look/images/icons/i1.gif تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA
تسلم ايدك يا استاذ ياسر بارك الله فيك 
منك نستفيد مما علمك الله تم حل مشكلة الازرار و الكود يعمل بكفائة 
و للتوضيح اكتر  ان الكود كما سبق و قلت انة يعمل على اوفيس 32 
و قمت بوضع كلمة PtrSafe بعد كلمة Declare
نعدل ثلاث اسطر  مثل 
Private Declare PtrSafe Function و باقي الاسطر 
لكي يعمل على اوفيس 64
وهذا للعلم اذا واجه احد هذة المشكلة 
و اشكرك جدا يا استاذ ياسر 

19-05-2020 02:28 صباحا
مشاهدة مشاركة منفردة [5]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10445
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36552
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تشغيل و ايقاف لمبات الكيبورد عن طريق كود VBA
بارك الله فيك أخي العزيز فتحي والحمد لله أن تم المطلوب على خير والحمد لله الذي بنعمته تتم الصالحات




الكلمات الدلالية
تشغيل ، ايقاف ، لمبات ، الكيبورد ، طريق ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 07:58 صباحا