Хорошо, у меня есть этот код прямо сейчас, который заставляет курсор мыши двигаться вправо, пока вы удерживаете клавишу Z
на клавиатуре.
Код:
if (GetAsyncKeyState(0x5A))
{
cMouseInput mInput;
mInput.MouseMove(1, 0); // Right
//mInput.MouseMove(-1, 0); // Left
}
Функция:
void cMouseInput::MouseMove(int X, int Y)
{
double fScreenWidth = GetSystemMetrics(SM_CXSCREEN) - 1;
double fScreenHeight = GetSystemMetrics(SM_CYSCREEN) - 1;
double fX = X * (65535.0f / fScreenWidth);
double fY = Y * (65535.0f / fScreenHeight);
INPUT mInput = { 0 };
mInput.type = INPUT_MOUSE;
mInput.mi.dwFlags = MOUSEEVENTF_MOVE;
mInput.mi.dx = fX;
mInput.mi.dy = fY;
SendInput(1, &mInput, sizeof(INPUT));
}
Теперь я хочу, чтобы она делала полный оборот по кругу ( a 360 в основном ) внутриигра только с 1 нажатием клавиши .А также пока выполняет это вращение, я хочу выполнить еще одно нажатие клавиши 4 раза.
Я не могу найти хороший способ сделать это ... возможно, используя таймербыло бы хорошей идеей?
Например, Start timer on key-press -> execute other key-press -> End timer and release key
Но как мне поступить?