【xp で動作確認しました(vs2008) つまりデータから勝手に絵を描かせられるのです】 マウスの動作のエミュレーションしようと思って、以前使ったSendInput 関数 の 詳細の裏を取りに行ったら、この処理の詳細はこの前の古い関数のところに 説明があるのです。 mouse_event 関数 で、この関数の座標の説明に「ミッキー」が出現します ちょっと笑ってしまいましたが、処理するのにミッキーの設定をピクセルにしたいので 調べてみるとありました( 検証はまだです ) SDK32:第 2 モニタでの mouse_event と絶対座標移動 相当古い資料なので本当に今動くのかどうか解りませんが、これからチェックします
int oldAccel[3], newAccel[3], oldSpeed, newSpeed, x, y; BOOL bResult; // 以下の値でマウスの移動量を 1 ミッキー/ピクセルに設定する newAccel[0] = 0; newAccel[1] = 0; newAccel[2] = 0; newSpeed = 1; // 現在のマウス加速度定数を保存する bResult = SystemParametersInfo(SPI_GETMOUSE, 0, oldAccel, 0); bResult = SystemParametersInfo(SPI_GETMOUSESPEED, 0, &oldSpeed, 0); // マウス加速度定数(無効)を設定する bResult = SystemParametersInfo(SPI_SETMOUSE, 0, newAccel, SPIF_SENDCHANGE); bResult = SystemParametersInfo(SPI_SETMOUSESPEED, 0, &newSpeed, SPIF_SENDCHANGE); //任意の x, y 座標を設定する x = -100; y = -150; mouse_event(MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0); // 標準モニタの左上(原点)にカーソルを移動する mouse_event(0, x, y, 0, 0); // カーソルを要求された座標に移動する // 保存したマウス加速度定数を戻す bResult = SystemParametersInfo(SPI_SETMOUSE,0, oldAccel, SPIF_SENDCHANGE); bResult = SystemParametersInfo(SPI_SETMOUSESPEED, 0, &oldSpeed, SPIF_SENDCHANGE);
当然、mouse_event は、SendInput に変更する必要ありますが、 いかにも絶滅危惧らしい情報のなりたちです あ、そうそう。構造体を見たい場合も一苦労です。 INPUT Structure ()