Disable the Alt+Tab,Alt+Esc,Ctrl+Esc,Ctrl+Alt+del through C# program.....Please help me!!!!!!!!!

    Question by:


    Dear Friends,
    How do I Disable the Alt+Tab,Alt+Esc,Ctrl+Esc,Ctrl+Alt+del through C# program?
    I am new to C# programming...If any one knows please let me know.... code or tips are always welcome

    Advance thanks...


    I have pasted vb.Net code...i don't know how to convert vb.net to C#..If any one know please help me .. This is not included (Ctrl+Alt+Del)

    Public Class frmMain
        Inherits System.Windows.Forms.Form

        Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Integer, ByVal lpfn As LowLevelKeyboardProcDelegate, ByVal hMod As Integer, ByVal dwThreadId As Integer) As Integer
        Declare Function UnhookWindowsHookEx Lib "user32" Alias "UnhookWindowsHookEx" (ByVal hHook As Integer) As Integer
        Delegate Function LowLevelKeyboardProcDelegate(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
        Declare Function CallNextHookEx Lib "user32" Alias "CallNextHookEx" (ByVal hHook As Integer, ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer

        Const WH_KEYBOARD_LL = 13

        Structure KBDLLHOOKSTRUCT
            Dim vkCode As Integer
            Dim scanCode As Integer
            Dim flags As Integer
            Dim time As Integer
            Dim dwExtraInfo As Integer
        End Structure

        Dim intLLKey As Integer

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32(), 0)
        End Sub

        Private Sub frmMain_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        End Sub

        Private Function LowLevelKeyboardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
            Dim blnEat As Boolean = False

            Select Case wParam
                Case 256, 257, 260, 261
                    'Alt+Tab, Alt+Esc, Ctrl+Esc, Windows Key
                    blnEat = ((lParam.vkCode = 9) AndAlso (lParam.flags = 32)) Or _
                    ((lParam.vkCode = 27) AndAlso (lParam.flags = 32)) Or _
                    ((lParam.vkCode = 27) AndAlso (lParam.flags = 0)) Or _
                    ((lParam.vkCode = 91) AndAlso (lParam.flags = 1)) Or _
                    ((lParam.vkCode = 92) AndAlso (lParam.flags = 1))
            End Select

            If blnEat = True Then
                Return 1
                Return CallNextHookEx(0, nCode, wParam, lParam)
            End If
        End Function
        Friend WithEvents lblInfo As System.Windows.Forms.Label
    End Class

    Good Question?

    Verified Answer?

    The member who asked this question verified this comment provided the solution that solved their problem.

    by:Posted on 2003-08-07 at 11:56:30ID: 9102443

    sharmilicsharp, is your vb code actually working? I am researching the similar staff in C#, but I find this disclaimer in MSDN:

    "Global Hook Is Not Supported in .NET Framework

    You cannot implement global hooks in Microsoft .NET Framework. To install a global hook, a hook must have a native dynamic-link library (DLL) export to inject itself in another process that requires a valid, consistent function to call into. This requires a DLL export, which .NET Framework does not support. Managed code has no concept of a consistent value for a function pointer because these function pointers are proxies that are built dynamically."

    This content is available to Experts Exchange members

    See the answer now
    with your Free 30 Day Trial

    Get unlimited access to solutions & experts

    • 4,169,477 solved questions
    • 3,805 articles & videos
    • 15,413 tech experts

    Get Access Now

    Ask Your Tech Question. Get Expert Solutions.We will email you when an expert has commented on your question.

    We will never share this with anyone. Privacy Policy Terms of Use

    Select topics

    You may select up to five topics.

    Top Expert Contributor

    Essential articles and videos from the Experts

    More valuable questions with Expert answers


    RELATED TOPICS view all topics

    1. .NET Programming
    2. ASP.NET
    3. Visual Basic.NET
    4. MS Development
    5. Editors IDEs
    6. Programming
    7. MS SQL Server
    8. JavaScript
    9. XML
    10. Programming Languages