模拟鼠标移动、点击,双击,键盘输入,鼠标滚轮滚动

在处理界面问题的时候,有时需要模拟鼠标移动或者点击来快速解决问题。比如界面某个区域或者某个按钮没有重画,把鼠标移上去或者点击一下后就正常了,而有时候又一时找不到原因,可以模拟鼠标移动点击来实现你想要的效果。

处理过程就是先记住原始鼠标坐标,再移动到你想要的坐标或者点击,之后再移到原始坐标点。

代码如下:

//模拟鼠标点击,双击


void ClickPoint(int x,int y,BOOL isDbClick)
{
	//点击第一步
	CPoint pointOld;
	GetCursorPos(&pointOld);//保存鼠标初始位置
	SetCursorPos(x,y); 
	mouse_event( MOUSEEVENTF_LEFTDOWN, 0,0,0,NULL);//鼠标down事件
	mouse_event( MOUSEEVENTF_LEFTUP, 0,0,0,NULL);//鼠标up事件
	if (isDbClick)
	{
		Sleep(200);
		mouse_event( MOUSEEVENTF_LEFTDOWN, 0,0,0,NULL);//鼠标down事件
		mouse_event( MOUSEEVENTF_LEFTUP, 0,0,0,NULL);//鼠标up事件
	}

	SetCursorPos(pointOld.x,pointOld.y);//还原鼠标初始位置
	Sleep(300);
}

模拟键盘输入

void inputMobilephone(CString mobilephone)
{
	for (int i=0,nCount = mobilephone.GetLength();i<nCount;i++)
	{
		keybd_event(mobilephone.GetAt(i),0,0,0);
		Sleep(200);
		keybd_event(mobilephone.GetAt(i),0,KEYEVENTF_KEYUP,0);
	}

}

模拟鼠标滚轮前滚

void upWheel(int x,int y)
{
	CPoint pointOld;
	GetCursorPos(&pointOld);//保存鼠标初始位置
	SetCursorPos(x,y); 
	for (int i=0;i<60;i++)
	{
		mouse_event( MOUSEEVENTF_WHEEL, 0,0,WHEEL_DELTA*3,NULL);//滚轮向上滚动
		Sleep(35);
	}
	SetCursorPos(pointOld.x,pointOld.y);//还原鼠标初始位置
}

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值