マウスジェスチャーツール総合スレpart15at SOFTWARE
マウスジェスチャーツール総合スレpart15 - 暇つぶし2ch972:rubyu
18/05/27 02:26:41.49 uQYWIjzd0.net
>>922
あー、他のツールをお使いでしたか! 他のツールとの共存は茨の道なのです…
各種ツールはみんな、マウスやキーボードに対するフックを仕掛けて、アプリケーションより先に情報を受け取り、そのメッセージを
・ゴミ箱に捨てたり(CreviceではCancelと呼んでいます)
・確定のハンコを押したり(Determine)
・次のフックに処理を委ねたり(Transfer)
しています
そして各種ツールが使っているフックには、
・メッセージフックと
・ローレベルフック
という2種があるのですが、Creviceは後者を使用しています
Creviceではジェスチャに使用したメッセージは全てCancelとして処理するので、Transferする必要がある場合は、SendInputを使用してユーザーが手動でメッセージを再送する必要があります
SendInputから送信されたメッセージにはマーカーが仕込まれているので、Creviceはこれを認識して自動的にTransferします
ローレベルフックのほうが先に処理されるため、Creviceが先にメッセージを受け取ることになるので、より優先度が低いメッセージフックを使用するソフトウェアに対してはこれでうまく共存できるのですが、問題はローレベルフックを使うツール同士の場合です
・あるメッセージがあるツールによってCancelされる場合に、それを何らかの手段でTransferに変更する手段がないと、他のツールにはそのメッセージを感知する手段がありません
・また、Determineについては、そのメッセージはローレベルフックでは確定されたものと扱われ、「それ以降のローレベルフックを通過しないが、メッセージフックを再び通過する」というさらに微妙な動作をします
というわけで、XMBCが先にローレベルフックでメッセージを受け取り、それをCancelかDetermineした場合に、Creviceはそのメッセージを感知できません
Creviceが先にメッセージを受け取り、SendInputを使って手動でメッセージを送信する場合に限り、他のツールと共存できる…はずです


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch