本文目录索引 1,autoit 中用_winapi_postmessage 给按钮发点击消息? 2,autoit如何获得窗口、控件的id和句柄!? 3,autoit 比较两个文件是否相同 4,autoit windows spy 懂的人进来,很着急 5,求AU3窗口制作的代码 6,禁用了一个网络连接,怎么启用? 7
本文目录索引
- 1,autoit 中用_winapi_postmessage 给按钮发点击消息?
- 2,autoit如何获得窗口、控件的id和句柄!?
- 3,autoit 比较两个文件是否相同
- 4,autoit windows spy 懂的人进来,很着急
- 5,求AU3窗口制作的代码
- 6,禁用了一个网络连接,怎么启用?
- 7,autoit如何获得窗口
- 8,AU3脚本问题(小白问题)
1,autoit 中用_winapi_postmessage 给按钮发点击消息?
对于可见的按钮,可以使用ControlClick()方法,即使不是自己创建的按钮也行,先用AutoIt Window Info工具可以获取控件ID等属性就可以。
但隐藏或最小化的时候就不能用这个方法,需要先显示出来或最大化,然后才可以。
还是用楼主的 _winapi_postmessage()方法吧。
至于发送什么消息,帮助中说参见 MSDN,那就去看看吧:
http://msdn.microsoft.com/en-us/library/ms644927(v=VS.85).aspx
里面有个表,列出了针对不同控件的消息。Button控件定义的消息如下:
http://msdn.microsoft.com/en-us/library/ff485886(v=VS.85).aspx
BM_CLICK 就是点击消息。
2,autoit如何获得窗口、控件的id和句柄!?
用 autoit 自带的窗口信息工具(AutoIt Window Info)来识别。
也可以使用内置函数 WinGetHandle() 来根据窗口标题或类或其他属性来获取窗口句柄。
参见帮助里的:Window Titles and Text (Advanced)
即,窗口匹配的高级模式。
相应地,获取控件句柄可以用 ControlGetHandle()
AutoIt主要针对标准Windows窗口和控件。经过封装的非标准窗口和控件往往不能很好识别。
3,autoit 比较两个文件是否相同
以下是我编写的比较两个文件内容是否一致的脚本: #include "ACN_HASH.au3" $s1 = FileRead('e:\test1.txt'); $s2 = FileRead('e:\test2.txt'); $Hash1 = _MD5($s1) $Hash2 = _MD5($s2) If $Hash1 $Hash2 Then MsgBox(4096, '文件比较结果:', '这两个文件内容不一样! ' & @CRLF & @CRLF & '文件1:' & $Hash1 & @CRLF & "文件2:" & $Hash2) Else MsgBox(4096, '文件比较结果:', '这两个文件内容相同! ' & @CRLF & @CRLF & '文件1:' & $Hash1 & @CRLF & "文件2:" & $Hash2) EndIf
4,autoit windows spy 懂的人进来,很着急
就是 ctrl-alt-F 我用的是AutoIt中文论坛出品的基于官方版本的汉化增强版,快捷键都是一样的,但这个选项默认是勾选的,就是鼠标左键松开就停止捕获并自动锁定的。 至于你说的“没有任何软件使用说明”,实际帮助里是有说明的,搜索“AutoIt Window Information Tool”,原文如下: To help with this you can "freeze" the output ofAU3Info by pressing CTRL-ALT-F. Press the keys again to "unfreeze".
5,求AU3窗口制作的代码
#include #include #include #Region ### START Koda GUI section ### Form=$Form1 = GUICreate("AutoIt3 窗口制作范例 by veket的小号", 482, 285, 192, 114)$Pic1 = GUICtrlCreatePic("", 15, 15, 129, 100)$Label1 = GUICtrlCreateLabel("点击打开图片后,会在这里看到一个图片", 185, 15, 80, 60)$Button1 = GUICtrlCreateButton("打开提示框", 48, 200, 75, 33)$Button2 = GUICtrlCreateButton("打开图片", 152, 200, 75, 33)$Button3 = GUICtrlCreateButton("打开网页", 256, 200, 75, 33)$Button4 = GUICtrlCreateButton("打开音乐", 360, 200, 75, 33)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 MsgBox(0, "Windows Message Box", "你点了“打开提示框”") Case $Button2 GUICtrlSetImage($Pic1, "C:\WINDOWS\Web\WallPaper\bliss.jpg") Case $Button3 ShellExecute("C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://hi.baidu.com/veketmain") Case $Button4 ShellExecute("C:\WINDOWS\Media\Windows XP 启动.wav", "", "", "open") EndSwitchWEnd
6,禁用了一个网络连接,怎么启用?
1、右下角还有没有那个网络图标,如果有的话右键点击图标,连接到网络。 2、如果没有的话就点左下角的开始菜单,VISTA的是在右边栏的有个控制面板,打开文件夹以后,如果不是经典图标的话文件夹右边有个显示经典视图。 3、出来以后你找到网路共享中心(我的是正版VISTA HOME)这个图标,打开它。打开以后你会看到有一个 【网络 连接 本地连接 】 后面就是查看状态,点击后出现的窗口点击启用就可以了。
7,autoit如何获得窗口
可以用其他属性来识别窗口,如:
ACTIVE - 当前活动窗口
或者:CLASS + INSTANCE
CLASS - 内部窗口类名
INSTANCE - 从1开始的枚举整数,由程序自动分配的唯一标识.
如:
WinGetHandle("[ACTIVE]", "")
当前窗口一定要是激活状态的。
或者:
WinGetHandle("[CLASS:#32770; INSTANCE:2]", "")
通常#32770表示标准对话框类(Dialog),Windows上很多窗口都是这个类属性。因此仅仅通过类名来区分是不现实的,必须要结合枚举实例的ID,即INSTANCE。
CLASS和INSTANCE都可以通过AutoIt自带的窗口信息工具获得。
推荐后者,更可靠些。
8,AU3脚本问题(小白问题)
调试方法还是有的。
估计是下面这句有问题,一直在等待窗口被激活。
WinWaitActive ("2345看图王 v2.5 安装 ","2345看图王 v2.5 安装已完成!")
可能是对应的窗口文本不对,请直接拷贝AuoIt窗口信息工具捕获的文本,最后的感叹号是中文的还是英文的,差一点都不行的。
要确认此句是否执行成功,在这句后加一个msgbox或者ConsoleWrite看看。
___________________________
有时能用,有时不能用,因为WinWaitActive只是被动等待窗口激活,对于窗口不在激活状态的情况需要用WinActivate函数去主动激活,否则WinWaitActive会一直等下去,导致程序挂起。
也就是说,在WinWaitActive之前最好加上判断,若窗口不在激活状态,则主动去激活一下,然后等待窗口激活成功后做下一步操作。
If Not WinActive("窗口") Then WinActivate("窗口")
WinWaitActive("窗口")
打包文件,用FileInstall函数。
FileInstall ( "源文件", "目标路径" [, 标志] )
其中,目标路径指示脚本程序运行时将该打包文件解压到哪个位置
标志参数用以决定是否覆盖已存在的文件:
0 = (默认)不覆盖已存在的文件
1 = 覆盖已存在的文件
下一篇:没有了