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

本文介绍了一种通过模拟鼠标点击、移动及键盘输入等操作的方法,用于解决界面问题。包括模拟鼠标点击、双击、键盘输入及鼠标滚轮滚动的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

代码如下:

//模拟鼠标点击,双击


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);//还原鼠标初始位置
}

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值