前提・実現したいこと
かざぐるマウスが好きでしたが、開発停止により今後バージョンアップの見込みなしです。
なので、自分でつくってみるか!と一念発起し、はや1年が立ちました。
現状、グローバルフックを利用し、デスクトップにマウスで線を描くところまで到達しました。
発生している問題・エラーメッセージ
ジェスチャの起点を右クリックにしているため、右クリック押し+マウス移動により線を描写する
→右クリックを離すとしたとき、デスクトップ上にコンテキストメニューが表示されます。
コンテキストメニューを表示しない方法はありますでしょうか?
該当のソースコード
↓GITHUBのリポジトリを参照します。IDEはVisual Studio、言語はC#です。
リンク内容
試したこと
1.WinフォームのキャプチャコントロールをONにする。
↓下記アドレスの内容から、フォームをマウスクリックした状態でフォーム外までマウスを移動すれば、
コンテキストメニューが表示されないことに気づき、トライしてみました。
結論としては、動的に表示されたフォームの場合、表示後(Form.Show()後)あらためてフォームをマウスクリックする
必要があり、適用不可でした。
リンク内容
2.WndProcによるメッセージ処理
WinAPIよろしく、メッセージ処理により解決できないかと試みましたが、Windowsに対するメッセージ処理の破棄は
C#上でできないことがわかり断念しました。(C#上で定義したイベントハンドラに対しては無効にできるのですが。。。)
3.グローバルフックを利用し、CallNextHookEx関数到達前にフックを破棄することもトライしましたが、
フックチェーンが破壊されたのか、エラー(画面がフリーズする)となりました。
そもそも、C#(正確には.net)はグローバルフックをサポートしておらず、マウスメッセージも処理できないことが
わかり絶望状態です。
補足情報(FW/ツールのバージョンなど)
1.グローバルフックのコードは右記アドレスリンク内容より引用させて頂きました。
はやくこの領域に到達したいものです\(^o^)/
2.偉大なる先人は、約10年前にこの問題にぶちあたり、行方不明になりました。
このサイトを見たとき、自分は言語選択をミスったと感じました。
リンク内容
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/21 15:13
2019/01/21 15:16
2019/01/21 15:36
2019/01/21 15:41
2019/01/22 13:39