by ノッチ » 2006年1月26日(木) 13:34
> 何時も、お世話に成っています。
>
> スクロ-ルバー(WM_HSCROLL,WM_VSCROLL)とWM_COMMANDをシステムフックする方法を教えて下さい。
>
> [hide]
> Const WH_MSGFILTER = -1 'フックの種類を示す定数
> Const MSGF_SCROLLBAR = 5 'イベントタイプを示す定数
>
> 'MSGFILTER Hook インストール
> hHook=SetWindowsHookEx(WH_MSGFILTER, AddressOf(SysMsgProc), hInst, 0)
>
> Function SysMsgProc(code As Long, wParam As DWord, lParam As DWord) As DWord
> Dim msg As *MSG
>
> If code=MSGF_SCROLLBAR Then
> msg=lParam
> msg->lParam で、スクロ-ルバーのハンドルが取得できません?
> End If
>
> '次のフックを呼び出す
> GetMsgProc=CallNextHookEx(hHook, code, wParam, lParam)
> End Function
> [/hide]
> 宜しくお願いします。
システムフックをする場合はSetWindowsHookExをDLLから呼び出さなければいけません。
この部分はOKでしょうか?
> 何時も、お世話に成っています。
>
> スクロ-ルバー(WM_HSCROLL,WM_VSCROLL)とWM_COMMANDをシステムフックする方法を教えて下さい。
>
> [hide]
> Const WH_MSGFILTER = -1 'フックの種類を示す定数
> Const MSGF_SCROLLBAR = 5 'イベントタイプを示す定数
>
> 'MSGFILTER Hook インストール
> hHook=SetWindowsHookEx(WH_MSGFILTER, AddressOf(SysMsgProc), hInst, 0)
>
> Function SysMsgProc(code As Long, wParam As DWord, lParam As DWord) As DWord
> Dim msg As *MSG
>
> If code=MSGF_SCROLLBAR Then
> msg=lParam
> msg->lParam で、スクロ-ルバーのハンドルが取得できません?
> End If
>
> '次のフックを呼び出す
> GetMsgProc=CallNextHookEx(hHook, code, wParam, lParam)
> End Function
> [/hide]
> 宜しくお願いします。
システムフックをする場合はSetWindowsHookExをDLLから呼び出さなければいけません。
この部分はOKでしょうか?