VC指定窗口模拟按键或鼠标事件

本文介绍了两种模拟鼠标和键盘事件的方法:通过SendMessage或PostMessage,以及使用keybd_event和mouse_event函数。重点讨论了它们的区别,如SendMessage能后台发送,而keybd_event/mouse_event仅限前台。并提供了具体的代码示例,包括如何针对特定窗口(如记事本)进行操作,以及如何通过进程ID查找目标窗口句柄。
摘要由CSDN通过智能技术生成

方法有两种:

1.SendMessage or PostMessage

2.keybd_event,mouse_event

前者更强大,指定hwnd后可以后台发送,而后者只能够发送前台信息..也就是必须窗口最前

简单的举例:

方法2

SetCursorPos(x,y);

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

keybd_event(k,0,0,0);

keybd_event(k,0,KEYEVENTF_KEYUP,0);

方法1

以当前程序的某个输入框为例:

HWND tw2 = GetDlgItem(IDC_EDIT1)->m_hWnd;

 ::SendMessage(tw2,WM_CHAR,s[i],0);

是个按钮:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值