Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

Keyboard-hook, stoppe knappe-kombinasjoner


Anbefalte innlegg

Heisann

 

Jeg prøver å stoppe et par knappe-kombinasjoner med en eksempel-kode, men skjønner ikke helt hvordan jeg kan legge til nye kombinasjoner og fjerne de i eksempelet.

 

Jeg har hooket med WH_KEYBOARD_LL, og her er AddressOf-koden:

Public Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Dim fEatKeystroke As Boolean
   
   
   If (nCode = HC_ACTION) Then
       
       If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Or wParam = WM_KEYUP Or wParam = WM_SYSKEYUP Then
           CopyMemory p, ByVal lParam, Len(p)
           fEatKeystroke = _
           ((p.vkCode = VK_TAB) And ((p.flags And LLKHF_ALTDOWN) <> 0)) Or _
           ((p.vkCode = VK_ESCAPE) And ((p.flags And LLKHF_ALTDOWN) <> 0)) Or _
           ((p.vkCode = VK_ESCAPE) And ((GetKeyState(VK_CONTROL) And &H8000) <> 0))
       End If
   End If


   If fEatKeystroke Then
       LowLevelKeyboardProc = -1
   Else
       LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)
   End If
End Function

Koden skal stoppe CTRL-ESC og Windows-knappen. Jeg vil nemlig at brukeren ikke skal kunne få opp start-menyen!

 

Noen som kan hjelpe meg?

 

Takk :)

 

Jonas

 

Edit: Jeg har alltid trodd at SYSKEYDOWN var windows-knappen, men utifra koden ser det ikke sånn ut..

 

Edit: Jeg har funnet en annen løsning! Se på denne tråden som løst.

Endret av Jonas
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...