后台发送消息
如何发送按键或鼠标消息到后台?注意,后台窗口没有可接受此类消息的控件,也就是说,不能使用controlsend等一类对控件操作的函数。
要求发送到窗口,不是控件。 自己postmessage咯 http://www.autoitx.com/viewthr ... tra=page%3D1&page=3#Include <WinAPI.au3>
a2()
Func a2()
$hWnd=WinGetHandle( "计算器");计算3+4=7
$cv1=_WinAPI_PostMessage($hWnd, 0x0100,27, 0);清零
Sleep(5000)
$cv1=_WinAPI_PostMessage($hWnd, 0x0100,51, 0);3
Sleep(5000)
$cv1=_WinAPI_PostMessage($hWnd, 0x0100,107, 0);+
Sleep(5000)
$cv1=_WinAPI_PostMessage($hWnd, 0x0100,52, 0);4
Sleep(5000)
$cv1=_WinAPI_PostMessage($hWnd, 0x0100,13, 0);回车
EndFunc 本帖最后由 lynfr8 于 2009-5-15 02:07 编辑
自己postmessage咯
sxd 发表于 2009-4-27 01:30 http://www.autoitx.com/images/common/back.gif
sxd:
au3里集成的只是简单封装了下postmessage
而这个postmessage_UDF封装的更完善 用于发送消息 最新版本是这里
http://www.shynd.com/scripts/PostMessage_UDF.au3
下载之后放到\autoit3\Include文件夹
然后打开计算机并最小化
测试以下代码就知道效果了
#include <PostMessage_UDF.au3>
$Hwnd = WinGetHandle("计算器")
_MouseClick($hWnd, "left", 19, 12)
_SendText($Hwnd,"9");后台发送点击9的消息
最后啰嗦一句:善用搜索:face (20): lynfr8的例子已经很清楚了,另外需要注意的是你要操作对象的句柄,搞清楚是GUI句柄还是GUI里面OBJECT的句柄,句柄搞错了得不到你要的效果。 本帖最后由 sxd 于 2009-5-23 18:53 编辑
sxd:
au3里集成的只是简单封装了下postmessage
而这个postmessage_UDF封装的更完善 用于发送消息 最新版本是这里
http://www.shynd.com/scripts/PostMessage_UDF.au3
这个有些强悍啊 哈哈 引用我的回帖来回复我 3# lynfr8
回车能实现么?我试了不好用啊,f5之类的可以的,不知怎么回事,求解 很好,留名学习 我也是要这样的功能....我测试一下看看.... 本帖最后由 mmsivws 于 2009-7-2 15:16 编辑
再顶一下..................... _SendText($Hwnd,"9")这个,好用吗,有人测试过? #include <PostMessage_UDF.au3>
$Hwnd = WinGetHandle("无标题 - 记事本")
_MouseClick($hWnd, "left", 19, 12)
_SendText($Hwnd,"9")
记事本没输入9字符,求解 收下了,谢谢,提供 13楼的兄弟我也是一样啊...换桌面,记事本.都没有用
页:
[1]
2