发布网友
共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
给其他窗体发送消息实现不了,你可以试试发送按键。