找回密码
 加入
搜索
查看: 3370|回复: 7

[系统综合] 有没有办法操作第三方程序的控件状态?

  [复制链接]
发表于 2012-1-13 11:24:41 | 显示全部楼层 |阅读模式
我有一个词典程序,它的滚动条有bug,经常会变灰色,也就是无法滚动

我知道AU3可以操作一个第三方程序的窗口,用winsetstate函数来操作,比如@SW_DISABLE @SW_ENABLE

但是有没有办法操作第三方程序的控件呢,比如让这个滚动条不再变灰。

发表于 2012-1-13 11:28:56 | 显示全部楼层
函数参考
GUICtrlSetState
--------------------------------------------------------------------------------

调整指定控件的状态.


GUICtrlSetState ( 控件ID, 状态 )




参数

控件ID 控件标识符(控件ID),可由 GUICtrlCreate... 函数的返回值获得.
状态 请查看下面的 状态表.



返回值

成功: 返回值为1.
失败: 返回值为0.



注意/说明


    状态表
状态列表 详细信息
无变化 0
$GUI_UNCHECKED 单选按框钮(Radio)或复选框按钮(Checkbox)将被取消选中  
$GUI_CHECKED 单选按框钮(Radio)或复选框按钮(Checkbox)将被选中  
$GUI_INDETERMINATE 具有三态属性的复选框(Checkbox)将变成灰色(不可用)状态  
$GUI_AVISTART Avi 控件开始播放  
$GUI_AVISTOP Avi 控件停止播放  
$GUI_AVICLOSE Avi 控件停止播放并释放资源.
$GUI_DROPACCEPTED 控件可以接受拖放操作的放下操作: 从一个文件或者其它控件.参考注意项目.
$GUI_NODROPACCEPTED 控件不能接受拖放操作的放下操作.
$GUI_SHOW 控件将可见.对于标签项则第一个标签页将被显示  
$GUI_HIDE 控件将不可见.  
$GUI_ENABLE 控件将可用.  
$GUI_DISABLE 控件将变成灰色状态(不可用)  
$GUI_FOCUS 控件将会得到输入/选择焦点.  
$GUI_NOFOCUS Listview 控件将会失去焦点.
$GUI_DEFBUTTON 控件将会被设置为窗口的默认按钮. 参考关于 TreeviewItems 的备注.
$GUI_EXPAND TreeViewItem 将会展开它的子项目.
$GUI_ONTOP 控件将会拥有一个相对于窗口的置顶属性(Z轴).

状态值可以加起来使用,比如像下面示例中的 $GUI_DISABLE + $GUI_HIDE 将使控件变为禁用并且隐藏状态.

若要隐藏某个 AVI 控件(使用 $GUI_HIDE),应该使用 $GUI_AVICLOSE 来关闭它.
发表于 2012-1-13 11:47:43 | 显示全部楼层
本帖最后由 user3000 于 2012-1-13 11:48 编辑

2个帮助里的例子
Run("winver.exe")
$HWND=WinWaitActive('[REGEXPTITLE:.+Windows;REGEXPCLASS:#\d+]','')
If IsHWnd($HWND) Then
        MsgBox(32,$HWND,'系统关于窗口出现咯...我们禁用掉确定按钮试试')
        ControlDisable($HWND, "", "Button1")
Else
        MsgBox(32,"ERROR","貌似没找到窗口嘛...")
EndIf


Run("winver.exe")
$HWND=WinWaitActive('[REGEXPTITLE:.+Windows;REGEXPCLASS:#\d+]','')
If IsHWnd($HWND) Then
        ;先禁用
        ControlDisable($HWND, "", "Button1")
        MsgBox(32,$HWND,'系统关于窗口出现咯...我们启用确定按钮试试')
        ControlEnable($HWND, "", "Button1")
Else
        MsgBox(32,"ERROR","貌似没找到窗口嘛...")
EndIf

还有别的 .... 请查帮助手册!

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2012-1-13 13:20:49 | 显示全部楼层
2楼朋友说的 GUICtrlSetState 貌似只能用在自己写的GUI里面,第三方程序的不行吧

3楼朋友的我试试看……
 楼主| 发表于 2012-1-13 13:34:32 | 显示全部楼层
不行,我发现那个软件里面其实是嵌入了个IE页面,所以ControlDisable之类的函数不起作用……

IE操作的UDF里面,貌似没有禁用,启用一个滚动条的函数-_-
发表于 2012-1-16 11:19:50 | 显示全部楼层
回复 5# godhawk
直接改htm源码
发表于 2012-1-16 14:29:53 | 显示全部楼层
有自带的工具!!
发表于 2012-1-16 14:30:07 | 显示全部楼层
你找找看!!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 14:41 , Processed in 0.089771 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表