我正在尝试模拟点击(在我的情况下为手指点击)并在一个窗口(特别是android模拟器)中滚动。代码很简单:
PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(200, 400));
std::this_thread::sleep_for(std::chrono::milliseconds(50));
PostMessage(hwnd, WM_MOUSEMOVE, MK_LBUTTON, MAKELPARAM(200, 500));
std::this_thread::sleep_for(std::chrono::milliseconds(50));
PostMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(200, 500));
std::this_thread::sleep_for(std::chrono::milliseconds(50));
它工作正常,除非真正的鼠标光标在该窗口上方,否则会干扰模拟的鼠标移动。 因此,例如,如果代码应该向上滚动,并且鼠标光标正在以相反的方式进行模拟运动,则应用程序将尝试同时滚动两种方式。
在执行此代码时,是否有任何方法可以阻止特定窗口的实际鼠标输入? 或者,也许还有其他方法可以阻止真正的鼠标干扰?