掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ある特定のウィンドウ内のみでフックするには? (ID:79572)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
主要個所のソースを乗せます。 Private Sub Form_Load() 'F1〜F9(ファンクションキー) For I = 112 To 120 Combo1.AddItem "F" & (I - 111) & " キー" Combo1.ItemData(Combo1.NewIndex) = I Next I Combo1.ListIndex = 0 'サブクラス化開始 Call SubClass(Me.hwnd) End Sub Private Sub Command1_Click() Dim lngHotKeyFlg As Long If Command1.Caption = "スタート" Then 'ホットキー設定 If SetHotKey(Me.hwnd, PC_HOTKEYID, lngHotKeyFlg, Combo1.ItemData(Combo1.ListIndex)) = 0 Then MsgBox "ホットキーの設定に失敗しました。" Else Command1.Caption = "ストップ" SetCapture Form1.hwnd End If Else 'ホットキー解除 Call UnSetHotKey(Me.hwnd) Command1.Caption = "スタート" End If End Sub Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Select Case uMsg Case WM_HOTKEY If wParam = P_HotKeyID Then MsgBox "ホットキーイベントが発生しました" End If Case WM_LBUTTONDOWN MsgBox "マウス左ボタンを押しました" Case WM_RBUTTONDOWN MsgBox "マウス右ボタンを押しました" End Select WindowProc = CallWindowProc(P_hwndNext, hwnd, uMsg, wParam, lParam) End Function Public Sub SubClass(hwnd As Long) P_hwndNext = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc) End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.