4

使用する関数はわかっていますが、正しく機能させることができません。私が使用SetCursorPos()した唯一の問題は、カーソルがウィンドウの座標ではなく画面の座標に設定されることです。私も試しましたScreenToClient()が、うまくいきませんでした。
これが私のコードです:

pt.x=113;
pt.y=280;
ScreenToClient(hWnd, &pt);
SetCursorPos(pt.x, pt.y);

何か案が?私はwin32を使用しています。十分な情報を提供したいと思います。

4

1 に答える 1

12

あなたはこれに少し後ろ向きに近づいています。このSetCursorPos関数は画面の座標で機能し、ウィンドウ/クライアントの座標に基づいてカーソルを設定する必要があります。これを行うには、クライアントから画面の座標にマップする必要があります。この関数ScreenToClientは逆のことをします。あなたが探しているのはClientToScreen

例えば:

ClientToScreen(hWnd, &pt);
SetCursorPos(pt.x,pt.y);

ドキュメンテーション

于 2010-09-05T07:20:46.503 に答える