lxwlxwayy
发表于 2010-12-13 16:52:49
记事本里有光标
lxwlxwayy
发表于 2010-12-13 17:33:38
可是在打开记事本就是有光标的
lxwlxwayy
发表于 2010-12-13 18:10:43
{:face (382):}
lxwlxwayy
发表于 2010-12-13 18:13:55
图片上面怎么会有雨林木枫的网址啊?
lxwlxwayy
发表于 2010-12-13 19:03:06
代码还是不行,请兄弟姐妹帮帮{:face (197):}
xzxnovice
发表于 2010-12-19 16:41:51
#Include <GuiButton.au3>
_GUICtrlButton_Click($hWnd)
ghl781258
发表于 2010-12-19 21:08:51
这个需要研究看看
_ddqs.
发表于 2010-12-19 21:57:43
本帖最后由 _ddqs. 于 2010-12-19 22:48 编辑
LZ应该先贴问题代码
为何一定要用句柄去完成点击
好给大家学习下...
-------------------------------------------------------------------------------------------------------
都知道是要点击某控件了,应该知道其类名,怎么反要去取句柄再去进行控制!会不会是多此一举?
-------------------------------------------------------------------------------------------------------
程序内控件单击(控件先付值于变量)
#include "GUIConstantsEx.au3"
$GUIMain=GUICreate( "Test", 800, 600 )
$GUIEdit=GUICtrlCreateEdit( "Test:" & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF,10, 20, 780, 600)
GUISetState ()
Sleep(2000) ;待2秒后看下
ControlClick($GUIMain, "Test", $GUIEdit, "", 1 )
While 1
Sleep(3000)
WEnd
_ddqs.
发表于 2010-12-20 05:00:03
本帖最后由 _ddqs. 于 2010-12-20 05:22 编辑
#Include <WinAPI.au3>
$win = WinGetTitle("") ;获取调试窗口
Run("Notepad.EXE") ;启动记事本
WinActivate($win,"") ;返回调试窗口
Sleep(500)
$HWND = ControlGetHandle("", "", "Edit1") ;获取"记事本"控件句柄
ConsoleWrite("句柄: "& $HWND &@LF)
ControlSend("", "", "","help"&"^a",0) ;发送测试文本并全选(如果以下不会点击,这里的文本是选定状态)
Sleep(1000)
;---------------------------------------------------------------
_WinAPI_PostMessage($HWND, "0x0201",0 ,0) ;按下鼠标左键
_WinAPI_PostMessage($HWND, "0x0202",0 ,0) ;释放鼠标左键
;---------------------------------------------------------------
Sleep(500)
WinActivate("", "") ;看下"记事本"操作结果
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;结果
;有启用 :_WinAPI_PostMessage() 没有选定状态
;不启用:_WinAPI_PostMessage() 2行都注释掉……存在选定状态
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
saromman
发表于 2010-12-27 23:06:58
作个记号内容
sxd
发表于 2010-12-28 00:27:16
au3任何参数为"窗口标题"的函数 此参数都可以用窗口句柄传入
ceoguang
发表于 2010-12-28 07:53:43
_SendMessage(控件句柄,0x0201, 0)
_SendMessage(控件句柄,0x0202, 0)
chinafla
发表于 2010-12-28 12:43:32
controlclick
easied
发表于 2011-1-20 17:32:53
看样子你这是走了不少弯路啊.
其实直接在ControlClick使用 指针类型的变量 就可以直接使用控件句柄点击了.
下面的代码是打开计算器并点击数字9$sTitle = "计算器"
$sText= "Backspace"
Run("calc.exe")
WinWait($sTitle, $sText)
$hControl = ControlClick($sTitle, $sText, "Button13")
ControlClick($sTitle, $sText, $hControl, "left")
ghl781258
发表于 2011-1-20 19:09:52
楼上的正解哦啊