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