###発生している問題・エラーメッセージ
VC++で簡易連打ツールを作ってC言語とWIN32APIを勉強しています。
エンターキーを押したときにマウスカーソルの下をクリックするようにしたのですが、自分が思っているのと違う動きになってしまいます。
GetCursorPosで現在位置を取得して構造体に格納して、その構造体を引数にしてSendInputを呼んでいるので、例えばx=300,y=400が最初に入れば10回その場所をクリックするように思うのですが、実行してみるとマウスカーソルの動きに合わせてクリックする位置が移動してしまいます。
最初に電卓の1の位置にあってもループ中に2や3に移動するとそれらが押されてしまうのはなぜでしょうか。
以下ウィンドウプロシージャの中の問題の一部です。
###該当のソースコード
case WM_CHAR:
if(wParam==13)
{
INPUT input={};
GetCursorPos(&Point);
input.type=INPUT_MOUSE;
input.mi.dx=Point.x;
input.mi.dy=Point.y;
input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|
MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP;
for(i=0;i<10;i++) { SendInput(1,&input,sizeof(input)); } } break;

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/26 10:57