私はpyHookでマウスのダブルクリックを取得しようとしていますが、代わりにシングルクリックの2つのペアのエントリを取得しています。 WM_LBUTTONDOWN(0x201)およびWM_LBUTTONUP(0x202)。私はWM_LBUTTONDBLCLK(0x203)を期待しています。私はここで何を見逃していますか?私はこのヒントを見つけたマウスを取得するpyHookでダブルクリック
import pythoncom, pyHook
def OnMouseEvent(event):
print event.Message, event.Position
return True
hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()
pythoncom.PumpMessages()
:this post MrZebraでは言う:
編集「送信されるように、この(0x203)の場合は、お使いのウィンドウクラスはCS_DBLCLKSクラススタイルで作成する必要があります」:This pageは、doubleclickingがこれらの4つのmsgs: WM_LBUTTONDOWN、WM_LBUTTONUP、WM_LBUTTONDBLCLK、およびWM_LBUTTONUPを生成することを示しますが、実際には最初の2つを2回取得します。
私はWin7x64
REEDITでPython 2.7とpyHook 1.5.1を使用しています:解答C++/C#のキーボード/マウスが代替案をフックとして、私は考えるでしょう。一方、2回クリック間の時間を評価するダブルクリックイベントを決定する関数を構築するのが一般的なプラクティスかどうかはわかりません。
'hm = pyHook.HookManager()'ステートメントの後に 'hm.SubscribeMouseAllButtonsDbl(OnMouseEvent)'を追加してみてください。 – martineau
私は変更を加えましたが、ダブルクリックは表示されません。私は多くのアドバイスをお寄せください。 –