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

楼上的正解哦啊
页: 1 [2] 3
查看完整版本: 如何根据控件句柄实现控件单击