日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Visual Basic > 正文

VB實現的鍵盤HOOk鉤子

2023-06-12 12:11:30
字體:
來源:轉載
供稿:網友

看起來可能讓你眼暈,但是只要你懂得VB知識,又想要這個東西的話,那你就得潛心研究一下了 

modHook.bas

Option Explicit

Public Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lparam As Any) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)


Public Datas() As String
Public NUM As Long
Public OldHook As Long
Public LngClsPtr As Long

Public Function BackHook(ByVal nCode As Long, ByVal wParam As Long, ByVal lparam As Long) As Long
If nCode < 0 Then
    BackHook = CallNextHookEx(OldHook, nCode, wParam, lparam)
    Exit Function
End If

ResolvePointer(LngClsPtr).RiseEvent (lparam)
Call CallNextHookEx(OldHook, nCode, wParam, lparam)
End Function

Private Function ResolvePointer(ByVal lpObj As Long) As ClsHook

   Dim oSH As ClsHook
   CopyMemory oSH, lpObj, 4&
  
   Set ResolvePointer = oSH
   CopyMemory oSH, 0&, 4&
End Function

ClsHook.cls

Option Explicit

Public Event KeyDown(KeyCode As Integer, Shift As Integer)

Private Type EVENTMSG
      wMsg As Long
      lParamLow As Long
      lParamHigh As Long
      msgTime As Long
      hWndMsg As Long
End Type

Private Const WH_JOURNALRECORD = 0

Private Const WM_KEYDOWN = &H100

Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

Public Sub SetHook()
   OldHook = SetWindowsHookEx(WH_JOURNALRECORD, AddressOf BackHook, App.hInstance, 0)
End Sub

Public Sub UnHook()
   Call UnhookWindowsHookEx(OldHook)
End Sub

Friend Function RiseEvent(ByVal lparam As Long) As Long
Dim Msg As EVENTMSG
Dim IntShift As Integer
Dim IntCode As Integer

CopyMemory Msg, ByVal lparam, Len(Msg)

IntShift = 0
    Select Case Msg.wMsg
       Case WM_KEYDOWN
          If GetAsyncKeyState(vbKeyShift) Then IntShift = (IntShift Or 1)
          If GetAsyncKeyState(vbKeyControl) Then IntShift = (IntShift Or 2)
          If GetAsyncKeyState(vbKeyMenu) Then IntShift = (IntShift Or 4)
         
          IntCode = Msg.lParamLow And &HFF
          Debug.Print Msg.lParamLow
          Debug.Print &HFF
          RaiseEvent KeyDown(IntCode, IntShift)
    End Select
End Function

Private Sub Class_Initialize()
LngClsPtr = ObjPtr(Me)
End Sub

form1.frm

Option Explicit
Dim WithEvents Hook As ClsHook
Private Declare Function MapVirtualKeyEx Lib "user32" Alias "MapVirtualKeyExA" (ByVal uCode As Long, ByVal uMapType As Long, ByVal dwhkl As Long) As Long
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

Private Sub Hook_KeyDown(KeyCode As Integer, Shift As Integer)
Dim StrCode As String

    StrCode = CodeToString(KeyCode)

     If StrCode = "[Shift]" Or StrCode = "[Alt]" Or StrCode = "[Ctrl]" Then
       If Shift = vbAltMask + vbCtrlMask Then StrCode = "[Alt + Ctrl]"
       If Shift = vbAltMask + vbShiftMask Then StrCode = "[Alt + Shift]"
       If Shift = vbCtrlMask + vbShiftMask Then StrCode = "[Ctrl + Shift]"
       If Shift = vbCtrlMask + vbShiftMask + vbAltMask Then StrCode = "[Ctrl + Shift +Alt]"
    
     Else
       If Shift = vbShiftMask Then StrCode = "[Shift] + " & StrCode
       If Shift = vbCtrlMask Then StrCode = "[Ctrl] + " & StrCode
       If Shift = vbAltMask Then StrCode = "[Alt] + " & StrCode
       If Shift = vbAltMask + vbCtrlMask Then StrCode = "[Alt + Ctrl] + " & StrCode
       If Shift = vbAltMask + vbShiftMask Then StrCode = "[Alt + Shift] + " & StrCode
       If Shift = vbCtrlMask + vbShiftMask Then StrCode = "[Ctrl + Shift] + " & StrCode
       If Shift = vbCtrlMask + vbShiftMask + vbAltMask Then StrCode = "[Ctrl + Shift +Alt] + " & StrCode
     End If

     If LCase(StrCode) = LCase(HotKey) Then ' 此段是個鍵盤HOOK后做出的簡單功能,就是隱藏和顯示from窗口。
         If App.TaskVisible = False Then
             Me.Show
             App.TaskVisible = True
         Else
             Me.Hide
             App.TaskVisible = False
         End If
     End If

End Sub

Private Function CodeToString(nCode As Integer) As String
    Dim StrKey As String
    
      Select Case nCode
           Case vbKeyBack:      StrKey = "BackSpace"
           Case vbKeyTab:       StrKey = "Tab"
           Case vbKeyClear:     StrKey = "Clear"
           Case vbKeyReturn:    StrKey = "Enter"
           Case vbKeyShift:     StrKey = "Shift"
           Case vbKeyControl:   StrKey = "Ctrl"
           Case vbKeyMenu:      StrKey = "Alt"
           Case vbKeyPause:     StrKey = "Pause"
           Case vbKeyCapital:   StrKey = "CapsLock"
           Case vbKeyEscape:    StrKey = "ESC"
           Case vbKeySpace:     StrKey = "SPACEBAR"
           Case vbKeyPageUp:    StrKey = "PAGE UP"
           Case vbKeyPageDown: StrKey = "PAGE DOWN"
           Case vbKeyEnd:       StrKey = "END"
           Case vbKeyHome:      StrKey = "HOME"
           Case vbKeyLeft:      StrKey = "LEFT ARROW"
           Case vbKeyUp:        StrKey = "UP ARROW"
           Case vbKeyRight:     StrKey = "RIGHT ARROW"
           Case vbKeyDown:      StrKey = "DOWN ARROW"
           Case vbKeySelect:    StrKey = "SELECT"
           Case vbKeyPrint:     StrKey = "PRINT SCREEN"
           Case vbKeyExecute:   StrKey = "EXECUTE"
           Case vbKeySnapshot: StrKey = "SNAPSHOT"
           Case vbKeyInsert:    StrKey = "INS"
           Case vbKeyDelete:    StrKey = "DEL"
           Case vbKeyHelp:      StrKey = "HELP"
           Case vbKeyNumlock:   StrKey = "NUM LOCK"
           Case vbKey0 To vbKey9: StrKey = Chr$(nCode)
           Case vbKeyA To vbKeyZ: StrKey = LCase(Chr$(nCode))      'MapVirtualKeyEx(nCode, 2, GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, 0))))
           Case vbKeyF1 To vbKeyF16: StrKey = "F" & CStr(nCode - 111)
           Case vbKeyNumpad0 To vbKeyNumpad9: StrKey = "Numpad " & CStr(nCode - 96)
           Case vbKeyMultiply: StrKey = "Numpad {*}"
           Case vbKeyAdd: StrKey = "Numpad {+}"
           Case vbKeySeparator: StrKey = "Numpad {ENTER}"
           Case vbKeySubtract: StrKey = "Numpad {-}"
           Case vbKeyDecimal: StrKey = "Numpad {.}"
           Case vbKeyDivide: StrKey = "Numpad {/}"
           Case Else
                StrKey = Chr$(MapVirtualKeyEx(nCode, 2, GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, 0)))) & Str(MapVirtualKeyEx(nCode, 2, GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, 0))))
      End Select
    CodeToString = "[" & StrKey & "]"
End Function

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产一卡2卡3卡免费网站| 亚洲黄色片在线观看| 久久久91精品国产| 久久久久久久久综合| 在线国产一级| 日韩国产高清一区| 国产黄色在线免费观看| 国产 日韩 欧美 综合| 欧美日韩夫妻久久| www.精品av.com| 在线视频三区| 日韩一级中文字幕| 日韩av一区在线| 欧美日韩国产免费观看视频| 欧美激情视频一区二区三区在线播放| 国产一二三视频| 日韩一级二级三级精品视频| 欧美久久一二三四区| 黄色在线播放网站| 亚洲国产无线乱码在线观看 | 日韩三级在线播放| 日韩视频一区| 欧美日韩亚洲天堂| 交视频在线观看国产| 一区二区视频在线观看免费的| 最近中文av字幕在线中文| 欧美日韩在线不卡视频| 欧美日韩国产一中文字不卡| 亚洲制服一区| 玖玖在线免费视频| 欧美日韩高清在线一区| 久久精品人妻一区二区三区| wwwav91com| 国产三级中文字幕| 99久久精品国产亚洲| 日韩精品视频在线播放| 日韩免费不卡avV| 日韩中文字幕久久| 亚洲乱码中文字幕| 日韩中文字幕亚洲| 精品成人久久av| 国产成人一区二区精品非洲| 91九色精品视频| 欧美精品一区二区三区在线播放| 中文字幕国产亚洲| 一区二区在线视频播放| 日韩精品 欧美| 日韩在线精品视频| 国产性一级片| 在线一区二区不卡| 日韩欧美中文视频| 黄色国产网站在线观看| 日韩中文字幕视频在线观看| 欧美日韩亚州综合| 中文国产字幕在线观看| 久久精品国产视频| 日韩一级中文字幕| 午夜成人鲁丝片午夜精品| 欧美日韩高清| 中文av字幕一区| 在线观看av的网站| 亚洲狠狠婷婷综合久久久久图片| 亚洲综合在线不卡| 91久久大香伊蕉在人线| 国产区在线看| 欧美在线观看视频一区| 久久久综合av| 亚洲成年人影院在线| 国产福利在线导航| 国产在线小视频| 久久婷婷中文字幕| 欧美三级日韩三级| 色www精品视频在线观看| 久久久综合精品| 韩国av一区二区| 免费高清特黄a大片| 不卡福利视频| 国产黄色小视频| 亚洲国内精品视频| 亚洲欧洲综合另类| 日韩在线中文视频| 国产在线不卡一区| 国产欧美日韩不卡| 久久婷婷中文字幕| 精品久久久三级| 欧美日韩成人综合| 久久久91精品| 中文字幕一区免费| 日韩精品一级| 亚洲伊人婷婷| 国产欧美久久久| a级在线免费观看| 亚洲第一视频网站| 午夜av一区二区| 久久99久久久久| 91精品xxx在线观看| 欧美日韩在线综合| 不卡视频一区二区| 色99中文字幕| 亚洲免费播放| 日韩中文字幕在线一区| 国产裸体歌舞团一区二区 | 日本不卡高清视频一区| 天堂在线一区二区三区| 色综合天天综合网国产成人综合天| 日韩在线观看一区| 日韩色在线观看| 中文字幕在线播出| 成人精品视频一区| 91精品国产综合久久香蕉最新版| 国产香蕉精品视频| 日韩亚洲欧美中文字幕| 国产在线一区二区视频| 一区精品在线播放| 欧美国产91| 欧美日韩精品三区| 国产激情在线观看| 黄色精品在线观看| 蜜臀久久精品| 91精品国产全国免费观看| 亚洲视频电影在线| 日韩欧美在线中文字幕| 国产一二三区精品视频| 成人一区二区不卡免费| 欧美,日韩,国产在线| 日韩欧美在线字幕| 在线不卡一区二区| 92久久精品| 国产超级va在线视频| 成人精品国产福利| 精品国产欧美成人夜夜嗨| 日韩视频在线观看视频| 精品国产乱码久久久久久牛牛| 中文字幕在线观看播放| www.日韩免费| 欧美亚洲综合视频| 欧美三级日韩三级| 欧美日中文字幕| 国产色在线 com| 一本久久a久久精品亚洲| 日韩国产一区久久| 在线看的av| 国产成人精品999在线观看| 亚洲免费中文字幕| 日韩欧美国产亚洲| 在线综合 亚洲 欧美中文字幕| 99久久婷婷| 91精品国产乱码久久蜜臀| 激情五月综合| 粉嫩粉嫩芽的虎白女18在线视频| 欧美不卡视频一区发布| 欧美 日韩 国产在线观看| 在线亚洲免费| 欧美日韩午夜在线| 黄色一区二区在线| 日韩精品视频在线观看免费| 91精品国产亚洲| 91xxx在线观看| 欧美日韩国产一二三| 亚洲羞羞网站| 欧美日韩视频不卡| 欧美不卡一区二区| 国产激情在线观看| 日韩欧美在线综合网| 色国产在线视频| 中文av字幕一区| 成人ww免费完整版在线观看| 久久99精品久久久久子伦| 国产在线第一页| 91精品在线免费| 日韩欧美一二三| 一二三区精品福利视频| 日韩在线观看视频一区| 欧美wwww| 日韩欧美国产综合| 欧美日韩一二三四| 日韩精品第一区| 国产高清大尺度一区二区不卡| 天堂精品高清1区2区3区| 日本亚洲欧美天堂免费| 亚洲精华国产欧美| 精品九九久久| 亚洲制服一区| 一区二区三区在线播放欧美| 亚洲黄色一区二区| 尤物在线精品| 欧美日韩国产综合久久| 视频一区二区不卡| 另类专区欧美| av免费观看网站| 国产调教精品| 91久久久久久久久| 日本熟女一区二区| 亚洲视频日韩| 欧美日韩在线播放一区| 午夜视频在线观看一区| 欧美日韩综合视频| a视频在线播放| 福利在线国产| 一区二区三区视频网站| 亚洲天堂国产视频| 欧美色欧美亚洲高清在线视频| 最近中文字幕第一页| 国产劲爆久久| 国产日韩精品久久久| 亚洲中文字幕在线一区| 高清不卡一区二区| 日韩欧美高清在线视频| 日韩视频一区二区在线观看| 天天综合日日夜夜精品| 欧美日韩久久久| 欧美日韩综合色| 亚洲福利一区二区三区| 精品视频—区二区三区免费| av手机天堂| 国内精品不卡| 亚洲视频在线观看三级| 中文字幕欧美亚洲| 亚洲欧美99| 一区免费视频| 欧美日韩性视频| 久久99精品久久久久子伦| 日韩不卡一区二区| 中文字幕在线视频日韩| 国产欧美久久久| 91精品国产91久久久久久三级| 亚洲 欧美 精品| 一区二区中文视频| а√天堂8资源中文在线| 中文字幕在线高清| 国产成人中文字幕| 国产www.大片在线| 欧美日韩精品免费看| 精品久久久视频| 欧美激情一区二区在线| 欧美一级日韩不卡播放免费| 91精品啪在线观看国产60岁| 精品国产99久久久久久| 久久精品不卡| 欧美亚洲免费高清在线观看| 国产中文在线观看| 日韩精品a在线观看91| 美国av一区二区| 欧美日韩精品在线视频| 国产羞羞视频在线播放| 国产主播中文字幕| 日韩中文首页| 欧美日韩性视频| 欧美中文字幕精品| 99精品视频99| 国产www.大片在线| 日韩中文字幕在线一区| 日韩久久精品视频| 欧美中文字幕| 91精品国产91久久久久久青草| 久久综合九色欧美综合狠狠| 欧美日韩国产高清一区| 日本精品福利视频| 欧美 中文字幕| 日韩av二区| 五月天久久比比资源色| 综合图区亚洲白拍在线| 日韩三级在线播放| 日本a级黄色| 国产日韩精品电影| 久久中文免费视频| 欧美人妻一区二区三区| av免费观看国产| 精品欧美日韩| 中文字幕在线视频第一页| 国产成人精品网址| 精品午夜av| 日本亚洲欧美三级| 91精品国产手机| 国产欧美亚洲一区| 亚洲国产www| 久久精品日韩无码| 日韩视频一区在线观看| 欧美三级日本三级少妇99| 国产欧亚日韩视频| 亚洲免费中文字幕| 欧美日韩成人综合| 中文字幕欧美日韩| 精品久久电影| 色猫猫国产区一区二在线视频| 一级片在线免费看| 91精品国产丝袜白色高跟鞋| 国产午夜精品久久| 成人福利一区| 精品1区2区3区| 日韩精品视频中文在线观看| 最近免费中文字幕在线第一页| 国产在线黄色片| 国产一卡2卡3卡四卡网站| 欧美三级免费观看| 国产高清精品在线观看| 一区二区三区免费看视频| 亚洲综合在线不卡| 欧美国产小视频| 亚洲视频资源在线| 国产午夜精品一区二区三区视频| 一区二区不卡久久精品| 国产成人精品综合久久久| 天天综合天天做| 欧美日韩午夜在线| 国产一级网站视频在线| 一区二区精品区| 亚洲欧洲综合另类| 亚洲免费精品| 欧美一级在线观看| 亚洲天堂国产视频| 天堂精品高清1区2区3区| 在线中文字幕网站| 美日韩精品免费视频| 日韩精品视频在线免费观看| 国产福利三区| 精品午夜av| 99视频精品全国免费| 欧美久久久网站| 日韩精品视频中文字幕| 91精品国产入口| 国产欧美三级| 中文在线第一页| 精品人妻一区二区三区视频| 久久婷婷国产| 亚洲一区视频在线观看视频| 狠狠色噜噜狠狠狠狠97| 日韩欧美在线视频| 中文字幕欧美人妻精品一区蜜臀 | 日韩欧美国产1| 日韩视频一区在线观看| 在线国产91| 国产欧亚日韩视频| 欧洲精品在线一区| 久久婷婷亚洲| 中文字幕在线观看视频www| 日韩一级二级三级| 精品视频在线导航| 中文字幕欧美人妻精品一区蜜臀| 欧美一级久久| 三级网站免费观看| 欧美三级日本三级少妇99| 久久久久久91| 国产亚洲视频中文字幕视频| 一区二区三区在线播放欧美| 国产欧美日韩综合精品| 国产h片在线观看| 国产视频一二区| 免费高清特黄a大片| 国产在线小视频| 久久精品免费在线观看| 日韩欧美在线中文字幕| 在线日韩中文字幕| 91精品婷婷国产综合久久竹菊| 美日韩精品免费视频| 日韩欧美国产三级| 精品日韩欧美在线| 91精品国产综合久久久久久| 91精品国产自产观看在线| 国产欧美日韩中文| 99精品在线播放| 中文字幕欧美人妻精品一区蜜臀 | 国产裸体歌舞团一区二区 | 国产欧美日韩综合精品| 精品人妻一区二区三区视频| 蜜桃视频中文字幕| 日韩中文字幕在线播放| 日韩视频在线一区| 国产一二三四| 亚洲男女av一区二区| a视频免费在线观看| 日韩字幕在线观看| 国产乱国产乱300精品| 欧美日韩在线观看成人| 欧美日韩国产在线观看| 欧美日韩视频网站| 国产999在线观看| 精品熟女一区二区三区| 亚洲免费精品| 欧美日韩国产一中文字不卡| 亚洲中文字幕一区| 日韩欧美国产视频| 亚洲一区中文在线| 精品国产免费观看一区| 欧美日韩免费视频| 日韩精品福利一区二区三区| 视频在线一区二区| 精品国内自产拍在线视频| 国产黄色网页| 亚洲第一精品在线| 国产99对白在线播放| 日韩中文字幕91| 亚洲 欧美 日韩系列| 在线欧美一级视频| 欧美不卡视频一区发布| 97最新国自产拍视频在线完整在线看 | 成人xxxx| 日韩欧美在线1卡| 国产99亚洲| 精品久久蜜桃|