这是我写的代码。
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
POINT cursorPos;
HWND handle = FindWindowA(NULL,"MyGame");
ScreenToClient(handle,&cursorPos);
repeat:
int x,y;
if (GetKeyState(VK_UP) & 0x8000) goto Script;
else goto repeat;
Script:
GetCursorPos(&cursorPos);
cursorPos.x = cursorPos.x;
cursorPos.y = cursorPos.y + 4;
SetCursorPos(cursorPos.y, cursorPos.y);
system("cls");
cout << "Y Pos : " << cursorPos.y << "\n X Pos: " << cursorPos.x << endl;
Sleep(5.3);
goto repeat;
system("PAUSE");
return 0;
}
当我按下&#39; UP&#39;箭头它会慢慢地将鼠标向下移动4个像素,每5.3毫秒。我遇到的问题是我只是试图修改鼠标的Y坐标(通过添加到坐标使其向下移动)但是,它也将鼠标的X坐标向下移动,导致倾斜线而不是直线下降。任何帮助表示赞赏。
答案 0 :(得分:1)
尝试更改SetCursorPos(cursorPos.y,cursorPos.y);到SetCursorPos(cursorPos.x,cursorPos.y);