■マウス・キーボードのグローバルフック(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