Written in Japanese(UTF-8)
2021.4.15
INASOFT
2021.4.15
INASOFT
/トップ/マウスふるふる ダウンロード/WebHelp/ヘルプトップ
動作原理について(応用編)
ここでは、本ソフトでマウスを動かす際の応用を解説しています。
なお、本ソフトはC++言語を用いて開発しておりますので、解説もC++言語で行っています。
マウスカーソルを大きく動かす
基本編に書いた通り、基本的にはユーザーが本当にマウスを操作しているときに、支障をきたさないことが重要なのですが、中には「マウスカーソルが大きく動いていないと困る」という意見をいただくこともあり、そういった場合のために、マウスカーソルを大きく動かすモードも準備しています。下記の様なロジックで動いています。
// 1回の呼び出しごとにマウスを8ミッキーずつ、ボックスを描くように動かす int iMoveSize = 8; static char cFlag = 0; switch(++cFlag) { case 0: mouse_event(MOUSEEVENTF_MOVE, iMoveSize, 0, 0, 0); break; case 1: mouse_event(MOUSEEVENTF_MOVE, 0, iMoveSize, 0, 0); break; case 2: mouse_event(MOUSEEVENTF_MOVE, -iMoveSize, 0, 0, 0); break; case 3: mouse_event(MOUSEEVENTF_MOVE, 0, -iMoveSize, 0, 0); cFlag = -1; break; }
マウスホイールをぐりぐりする
上の応用例というわけではありませんが、マウスホイールをぐりぐりするような要望も来ておりましたので、下記の様なロジックで実現しています。
// 1回の呼び出しごとにマウスホイールを上・下の順にまわす static bool bTiming = true; mouse_event(MOUSEEVENTF_WHEEL, 0, 0, bTiming?256:(DWORD)-256, 0); bTiming = !bTiming;
1クリック
ここからは様々なことができるような要望が出てきます。例えば、マウスの左ボタンクリック。
BOOL fSwap = SwapMouseButton(0); // マウスボタンの左右入れ替えをしている場合は、元に戻す mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // マウスボタンを離す SwapMouseButton(fSwap); // さっきまでマウスボタンの左右入れ替えをしていたなら、再び左右入れ替えする
ダブルクリック
続いて、マウスの左ボタンをダブルクリック。
BOOL fSwap = SwapMouseButton(0); // マウスボタンの左右入れ替えをしている場合は、元に戻す mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // マウスボタンを離す mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // マウスボタンを離す SwapMouseButton(fSwap); // さっきまでマウスボタンの左右入れ替えをしていたなら、再び左右入れ替えする
右クリック
マウスの右ボタンクリック。
BOOL fSwap = SwapMouseButton(0); // マウスボタンの左右入れ替えをしている場合は、元に戻す mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0); // マウスボタンを離す SwapMouseButton(fSwap); // さっきまでマウスボタンの左右入れ替えをしていたなら、再び左右入れ替えする
中央(ホイール)ボタンクリック
マウスの中央ボタンクリック(ホイール部分の押し込み)。
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0); // マウスボタンを離す
Xボタン1クリック
Xボタン1のクリック。なお、Xボタン1とは、ブラウザの「戻る」に割り当てられていることが多いボタンです。
mouse_event(MOUSEEVENTF_XDOWN, 0, 0, XBUTTON1, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_XUP, 0, 0, XBUTTON1, 0); // マウスボタンを離す
Xボタン2クリック
Xボタン2のクリック。なお、Xボタン2とは、ブラウザの「進む」に割り当てられていることが多いボタンです。
mouse_event(MOUSEEVENTF_XDOWN, 0, 0, XBUTTON2, 0); // マウスボタンを押す mouse_event(MOUSEEVENTF_XUP, 0, 0, XBUTTON2, 0); // マウスボタンを離す
なお、上記のXボタン1の押し離しと、Xボタン2の押し離しを、一定間隔おきに交互に繰り返すと、ブラウザを戻ったり進んだりという動作を延々とくりかえすことができるようになります。応用例を考えると、なんだかいろんなことができそうな気がします。
動作原理について(基本編)
おまけページの目次へ戻る
目次へ
※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は、右上の作成日付の時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。
■このページに関するご意見をお待ちしております → フィードバックページ