想做个键盘控制鼠标,但是一按q键就崩,个人认为是变量b的问题但不会改,求助,玄关,谢谢!
#include<bits/stdc++.h>
#include<windows.h>
#include<ctime>
#define kd(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
HANDLE handle;
handle=GetStdHandle(STD_OUTPUT_HANDLE);
HWND hWnd=GetConsoleWindow();
double sx=GetSystemMetrics(SM_CXSCREEN)/2;
double sy=GetSystemMetrics(SM_CYSCREEN)/10*9;
double n,m,q=1,a;LPPOINT b;
cout<<"速度:";
cin>>n;
cout<<"慢速模式速度(shift键):";
cin>>m;
cout<<"关黑窗口关程序,点击Q键暂时取消控制,再点恢复";
while(1){
if(kd(VK_SHIFT)){
a=m;
}else{
a=n;
}if(kd(81)){
sx=double(b->x);
sy=double(b->y);
q=1-q;
Sleep(500);
}Sleep(1);
if(q){
SetCursorPos(sx,sy);
if(kd(VK_UP)||kd(VK_DOWN)||kd(VK_LEFT)||kd(VK_RIGHT)){
if(kd(VK_DOWN)){
sy+=a;
}if(kd(VK_UP)){
sy-=a;
}if(kd(VK_LEFT)){
sx-=a;
}if(kd(VK_RIGHT)){
sx+=a;
}
}
}else{
GetCursorPos(b);
}
}
return 0;
}