应用程序在拖动操作期间等待鼠标单击

问题描述

我正在开发一个 c# 函数,它将鼠标从一个点拖到另一个点。 mouse_event 中的 user32.dll 用于执行操作。我可以通过发送 MOUSEEVENTF_LEFTDOWNMOUSEEVENTF_LEFTUP 来执行点击。对于拖动,我正在执行 MOUSEEVENTF_LEFTDOWN,然后是 MOUSEEVENTF_MOVE,然后是 MOUSEEVENTF_LEFTUP。最初我观察到拖动不起作用,只有鼠标移动发生。所以我在 Application.DoEvents() 之后添加一个 MOUSEEVENTF_MOVE。这启动了拖动过程。我可以看到拖动鼠标指针,并随着拖动的对象移动到放置点。系统在 Application.DoEvents() 中等待并且不会继续执行 MOUSEEVENTF_LEFTUP,直到我用鼠标手动点击。

SetCursorPos(startX,startY);
mouse_event(MOUSEEVENTF_LEFTDOWN,0);
SetCursorPos(endX,endY);
Application.DoEvents();
mouse_event(MOUSEEVENTF_LEFTUP,0);

上面代码段中的 Application.DoEvents() 导致了问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)