Hi it is possible to hook the following keys using low level hook? Below is the code i'm currently using.
Ctrl + Alt + Del
Left Win Key + L
Left Win Key + L
Right Win Key + L
Right Win Key + L
Code:
Private Shared Function KeyBoardHookProc(ByVal nCode As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As Integer
' ALL KEYBOARD EVENTS WILL BE SENT HERE .
' DON'T PROCESS JUST PASS ALONG.
If nCode < 0 Then
Return CallNextHookEx(HookId, nCode, wParam, lParam)
End If
' EXTRACT THE KEYVOARD STRUCTURE FROMT THE LPARAM THIS WILL CONTAIN THE VIRTUAL KEY AND ANY FLAGS.
' USING THE MY.COMPUTER.KEYBOARD TO GET THE FLAGS INSTEAD
Dim KeyboardSruct As KBDLLHOOKSTRUCT = Marshal.PtrToStructure(lParam, GetType(KBDLLHOOKSTRUCT))
' TEST VIRUAL KEY
' MsgBox(KeyboardSruct.vkCode.ToString, MsgBoxStyle.OkOnly)
Select Case KeyboardSruct.vkCode
Case Vk_Tab And My.Computer.Keyboard.AltKeyDown ' BLOCKED ALT TAB
Return 1
Case Vk_Escape And My.Computer.Keyboard.CtrlKeyDown ' BLOCKED CONTROL ESC
Return 1
Case Vk_Escape And My.Computer.Keyboard.AltKeyDown ' BLOCKED ALT + ESC
Return 1
Case Vk_F4 And My.Computer.Keyboard.AltKeyDown ' BLOCKED ALT F4
Return 1
Case VK_LWinKey ' BLOCKED LEFT WIN KEY
Return 1
Case VK_RWinKey ' BLOCKED RIGHT WIN KEY
Return 1
Case vk_Del ' WORKING BUT NEED TO PRESS THE DEL BUTTON 1ST
If My.Computer.Keyboard.AltKeyDown And My.Computer.Keyboard.CtrlKeyDown Then ' BLOCKED CTRL + ALT + DEL
Return 1
End If
Case Vk_Ctrl ' NOT WORKING
If My.Computer.Keyboard.AltKeyDown Then ' BLOCKED CTRL + ALT + DEL
If KeyboardSruct.vkCode = vk_Del Then
Return 1
End If
End If
End Select
' SEND THE MESSAGE LONG
Return (CallNextHookEx(HookId, nCode, wParam, lParam))
End Function