SendInput模拟鼠标消息的发送

C++编程 同时被 2 个专栏收录
122 篇文章 0 订阅
69 篇文章 1 订阅
1
实例:
//获取一个对话框dialog的句柄
	HWND hWnd=::FindWindow(_T("#32770"),_T("MsgTest"));
	if (hWnd!=NULL)
	{
		::ShowWindow(hWnd,SW_SHOWNORMAL);
		::SetForegroundWindow(hWnd);
		//获取dialog上一个Button按钮的句柄
		HWND hTargetWnd=::GetDlgItem(hWnd,0x3E8);
		CRect Rt;
		::GetWindowRect(hTargetWnd,Rt);
		//将鼠标光标定位到按钮上
		SetCursorPos(Rt.left+5,Rt.top+5);
		INPUT m_InPut[2]={0};
		//鼠标消息,需将type置为INPUT_MOUSE,如果是键盘消息,将type置为INPUT_KEYBOARD。
		m_InPut[0].type=m_InPut[1].type=INPUT_MOUSE;
		//将type置为鼠标消息后,其INPUT结构中的mi结构是可以使用的,hi、ki结构不可使用
		m_InPut[0].mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
		m_InPut[1].mi.dwFlags=MOUSEEVENTF_LEFTUP;
		SendInput(sizeof(m_InPut)/sizeof(m_InPut[0]),m_InPut,sizeof(INPUT));
	}
	
相关函数的使用请查询MSDN。
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值