我在做一个类似于按键精灵一样的东西,功能流程是 模拟鼠标画框 手动编辑处理图片 ,然后模拟键盘操作保存 编辑文件, ,之后继续下一个文件编辑,现在出个一个问题,就是编辑完成一个文件以后,下一个文件的画框操作经常无法完成,主要是由于保存编辑文件的操作还没完成,页面还在刚才保存的那个页面的时候就已经触发画框事件了,我原先是考虑加Thread.Sleep()处理的,但是由于保存时间不同,Sleep的时间也不好控制,有没有办法使用API解决这个问题(这个窗体不是我的程序,所以要用API)
SetCursorPos(myElement.MouseNum7.X, myElement.MouseNum7.Y);
mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero);
mouse_event(MouseEventFlag.LeftUp, 0, 0, 0, UIntPtr.Zero);
Thread.Sleep(System.Convert.ToInt16(F7textBox.Text.Trim()));byte VK_Down = (byte)Keys.Down;
byte VK_Enter = (byte)Keys.Enter;//换页 保存是这里
keybd_event(VK_Down, 0, 0, 0);
keybd_event(VK_Enter, 0, 0, 0);
Thread.Sleep(System.Convert.ToInt16(NextPage.Text.Trim()));
//F1到F2位置画框  就是这里经常无法正常完成操作 上面的Sleep时间不好把握,时间长了人还得等你鼠标画框, 短了页面还在上一个画面,造成的结果就是自动画框失败,鼠标停在画框的终点,但是没框。
SetCursorPos(myElement.MouseNum1.X, myElement.MouseNum1.Y);
mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero);
SetCursorPos(myElement.MouseNum2.X, myElement.MouseNum2.Y);
mouse_event(MouseEventFlag.LeftUp, 0, 0, 0, UIntPtr.Zero);