模拟左键点击时黑屏
Screen blacks out when simulating left click
我正在学习如何使用 SendInput(),但遇到了一个问题。每当我尝试模拟左键单击时,屏幕总是黑掉。这是我的代码:
#include <Windows.h>
void MouseLeftClick(){
INPUT ip;
ip.type = INPUT_MOUSE;
ip.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &ip, sizeof(INPUT));
ip.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &ip, sizeof(INPUT));
}
void PressKey(int keyCode){
INPUT ip;
ip.type = INPUT_KEYBOARD;
ip.ki.wVk = keyCode;
ip.ki.dwFlags = 0;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
}
int main(){
while (true){
if (GetAsyncKeyState(VK_END)){
MouseLeftClick();
Sleep(1000);
}
}
}
模拟按键时也没有发生。
在行 INPUT ip;
之后添加 ZeroMemory(&ip, sizeof(ip));
将解决您的问题。
我正在学习如何使用 SendInput(),但遇到了一个问题。每当我尝试模拟左键单击时,屏幕总是黑掉。这是我的代码:
#include <Windows.h>
void MouseLeftClick(){
INPUT ip;
ip.type = INPUT_MOUSE;
ip.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &ip, sizeof(INPUT));
ip.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &ip, sizeof(INPUT));
}
void PressKey(int keyCode){
INPUT ip;
ip.type = INPUT_KEYBOARD;
ip.ki.wVk = keyCode;
ip.ki.dwFlags = 0;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
}
int main(){
while (true){
if (GetAsyncKeyState(VK_END)){
MouseLeftClick();
Sleep(1000);
}
}
}
模拟按键时也没有发生。
在行 INPUT ip;
之后添加 ZeroMemory(&ip, sizeof(ip));
将解决您的问题。