■マウス・キーボードのグローバルフック(VB6/WinNT系)

VB6用コンポーネント。WinNT系限定です(Win2kで動作確認)。

WH_KEYBOARD_LL、WH_MOUSE_LLのラッパーDLLです。

ベータ版です。
私がプライベートで使っているDLLなので。
非常にシンプルな仕様です。
マウス用とキーボード用の二種類がありますので、必要なほうを参照設定してください。

※このDLLを用いて発生したいかなる損害も、当方では一切関知致しません。

▼サンプル

Dim WithEvents oMh As clsMouseHook
Dim WithEvents oKh As clsKeyHook

Private Sub Form_Load()
Set oMh = New clsMouseHook
Set oKh = New clsKeyHook

oMh.Hook App.hInstance
oKh.Hook App.hInstance

End Sub

Private Sub Form_Unload(Cancel As Integer)
oMh.UnHook
oKh.UnHook
End Sub

Private Sub oKh_KeyHook(ByVal vKeyCode As Long, ByVal bUp As Boolean, bKill As Boolean)

End Sub

Private Sub oMh_MouseHook(ByVal eMouseMessage As llMouseHook.enumMouseMessages, ByVal lWheelDelta As Long, bKill As Boolean)

End Sub

▼メソッド

Hook
hInst App.hInstanceを渡す
・フックを開始します。
UnHook
・フックを終了します。
アプリケーションが終了する際、必ずUnHookしてください。

▼イベント

KeyHook
vKeyCode  仮想キーコード(VK_**, vbKey**
bUp   プッシュ状態(離されているならTrue
bKill  イベントの削除
・bKillを有効にすると、そのイベントを殺します。
・キーイベントは”押し”と”離し”で計二回送られてきます。bUpフラグでそれを判断できます。
MouseHook
eMouseMessage  マウスメッセージ(WM_***
lWheelDelta  ホイールの回転値
bKill  イベントの削除
・bKillを有効にすると、そのイベントを殺します。
・lWheelDeltaはWM_MOUSEWHEELのときのみ有効になる引数です。 詳しくはSDK参照。
・ダブルクリック系のメッセージはサポートしていません。

▼ダウンロード
llhooks.zip

Back