اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم

هل هناك طريقة لتعطيل مفاتيح الويندوز الايمن والايسر في لوحة المفاتيح

 

تحياتي لكم

قام بنشر
19 دقائق مضت, Barna said:

ممكن لو عرفنا هدفك من تعطيل هذا الزر ..... ممكن نجد حل اخر ؟؟؟

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

قام بنشر
19 دقائق مضت, SEMO.Pa3x said:

عليكم السلام، هل تقصد هذا الزر في الكيبورد

Insert-Windows-Key-Symbol.jpg

نعم طال عمرك

قام بنشر

اخي الكريم، في الأكسس لا اعتقد ذلك..

لكن يمكنك ذلك في لغة VB.NET

تفضل هذا هووك يقوم بهذا الغرض

Imports System.Runtime.InteropServices

Partial Public Class keyevent

    Private Structure KBDLLHOOKSTRUCT
        Public vkCode As Integer
        Private scanCode As Integer
        Public flags As Integer
        Private time As Integer
        Private dwExtraInfo As Integer
    End Structure

    Private Delegate Function LowLevelKeyboardProcDelegate(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
    <DllImport("user32.dll")>
    Private Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal lpfn As LowLevelKeyboardProcDelegate, ByVal hMod As IntPtr, ByVal dwThreadId As Integer) As IntPtr
    End Function

    <DllImport("user32.dll")>
    Private Shared Function UnhookWindowsHookEx(ByVal hHook As IntPtr) As Boolean
    End Function

    <DllImport("user32.dll")>
    Private Shared Function CallNextHookEx(ByVal hHook As Integer, ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
    End Function

    <DllImport("kernel32.dll")>
    Private Shared Function GetModuleHandle(ByVal path As IntPtr) As IntPtr
    End Function

    Private hHook As IntPtr
    Private hookProc As LowLevelKeyboardProcDelegate
    Const WH_KEYBOARD_LL As Integer = 13

    Public Sub New()
        InitializeComponent()
        Dim hModule As IntPtr = GetModuleHandle(IntPtr.Zero)
        hookProc = New LowLevelKeyboardProcDelegate(AddressOf LowLevelKeyboardProc)
        hHook = SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, hModule, 0)

        If hHook = IntPtr.Zero Then
            MessageBox.Show("Failed to set hook, error = " & Marshal.GetLastWin32Error())
        End If
    End Sub

    Private Shared Function LowLevelKeyboardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
        If nCode >= 0 Then

            Select Case wParam
                Case 256 'WM_KEYDOWN

                    If (lParam.vkCode = &H9 AndAlso lParam.flags = 32) OrElse (lParam.vkCode = &H1B AndAlso lParam.flags = 32) OrElse (lParam.vkCode = &H73 AndAlso lParam.flags = 32) OrElse (lParam.vkCode = &H1B AndAlso lParam.flags = 0) OrElse (lParam.vkCode = &H5B AndAlso lParam.flags = 1) OrElse (lParam.vkCode = &H5C AndAlso lParam.flags = 1) Then
                        Return 1
                    End If
            End Select
        End If

        Return CallNextHookEx(0, nCode, wParam, lParam)
    End Function

    Private Sub Window_Closed(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.FormClosed
        UnhookWindowsHookEx(hHook)
    End Sub

End Class

 

  • Like 1
قام بنشر
2 ساعات مضت, bumb said:

اين انتم

 

معقول مافيه طريقه

اعتقد هناك برامج خاصة مخصصة لتعطيل اي زر ... حاول تبحث في النت تجدها ...

قام بنشر
43 دقائق مضت, bumb said:

وجدت هذا الموضوع وهو يتكلم عن طرق عديدة لتعطيل ازرار الويندوز

https://www.techrepublic.com/article/how-to-disable-the-windows-key-on-your-keyboard/

هل من الممكن عمل كود يقوم بهذه المهام

 

شاهد الهوك في ردي السابق

قام بنشر
6 ساعات مضت, bumb said:

شاهدته ولكن كيف استخدمه؟

 

قمت بعمل تطبيق صغير لكي يقوم بعمل هووك ( فلترة ) لزر الويندوز

عندما تقوم بتشغيل التطبيق سيتعطل الزر، وعند اطفاءه سيرجع الزر لعمله.

HookWindowsKey.rar

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information