autoit 中用_winapi_postmessage 给按钮发点击消息?

发布网友

我来回答

2个回答

热心网友

对于可见的按钮,可以使用ControlClick()方法,即使不是自己创建的按钮也行,先用AutoIt Window Info工具可以获取控件ID等属性就可以。
但隐藏或最小化的时候就不能用这个方法,需要先显示出来或最大化,然后才可以。

还是用楼主的 _winapi_postmessage()方法吧。
至于发送什么消息,帮助中说参见 MSDN,那就去看看吧:
http://msdn.microsoft.com/en-us/library/ms4927(v=VS.85).aspx
里面有个表,列出了针对不同控件的消息。Button控件定义的消息如下:
http://msdn.microsoft.com/en-us/library/ff485886(v=VS.85).aspx

BM_CLICK 就是点击消息。

热心网友

给按钮发送点击消息没那么难吧,有现成的函数:_GUICtrlButton_Click
下面这个例子是延时1秒给按钮发送点击消息:

#Include <GuiButton.au3>
#include <GUIConstantsEx.au3>
GUICreate("My GUI")
$button1=GUICtrlCreateButton ("Ok", 20,200,50)
GUISetState ()
press()
Do
$msg = GUIGetMsg()
Switch $MSG
Case $button1
MsgBox (-1,"",1)
EndSwitch
Until $msg = $GUI_EVENT_CLOSE
Func press()
Sleep(1000)
_GUICtrlButton_Click($button1)
EndFunc

给其他窗体发送消息实现不了,你可以试试发送按键。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com