问题描述
我正在开发一个 c# 函数,它将鼠标从一个点拖到另一个点。 mouse_event
中的 user32.dll
用于执行操作。我可以通过发送 MOUSEEVENTF_LEFTDOWN
和 MOUSEEVENTF_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 (将#修改为@)