|
|
分别调用C#提供的sendKeys.send 或API函数中的Mouse_Action都很正常.
先调用Mouse_Action再调用sendKeys.send ,也正常.
但是先调用Mouse_Action接着调用sendKeys.send ,再调用Mouse_Action就出现sendKeys.send及后面的没相应,鼠标还锁死不能动的假象,按下CTRL+ALT+DEL才能动.
哪位高手知道是怎么回事么?
部分代码如下:
public static void Mouse_Action(int co, int wi, int he, uint info, int X, int Y)
{
if(wi!=0&&he!=0)
mouse_event(info, X * 65536 / wi, Y * 65536 / he, 0, 0);
}
Get_Positioninfo.Get_Green(ref color, ref width, ref height); // 获得系统颜色位深及长宽
Get_Positioninfo.GetPosition(ref x, ref y, ref MSN, ref wucha);//获得当前窗体的起始坐标和..
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.AbsoluteMove, x + QQ_x2, y + QQ_y2);
Thread.Sleep(50); //因为操作的是别的程序窗口,太快会丢失,所以加了些这个
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.LeftDown, x + QQ_x2, y + QQ_y2);
Thread.Sleep(50);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.AbsoluteMove, x + QQ_x2 + 100, y + QQ_y2);
Thread.Sleep(50);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.LeftUp, x + QQ_x2 , y + QQ_y2); //在某位置按一下鼠标左键
string Contents = "请根据下面图片的提示,输入相应的阿拉伯数字1-4";
SendKeys.Send(Contents);//输入上面字符串.有下面的鼠标操作就没相应了.
System.Windows .Forms .SendKeys.Send(Contents);
Thread.Sleep(5000);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.AbsoluteMove, x + QQ_x2, y + QQ_y2);
Thread.Sleep(50);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.LeftDown, x + QQ_x2, y + QQ_y2);
Thread.Sleep(50);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.AbsoluteMove, x + QQ_x2 + 100, y + QQ_y2);
Thread.Sleep(50);
Key_Mouse.Mouse_Action(color, width, height, (uint)MouseEventFlag.LeftUp, x + QQ_x2 + 100, y + QQ_y2);
Thread.Sleep(50); //选择一部本文字
|
|