有没有办法操作第三方程序的控件状态?
我有一个词典程序,它的滚动条有bug,经常会变灰色,也就是无法滚动我知道AU3可以操作一个第三方程序的窗口,用winsetstate函数来操作,比如@SW_DISABLE @SW_ENABLE
但是有没有办法操作第三方程序的控件呢,比如让这个滚动条不再变灰。
{:face (396):} 函数参考
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 来关闭它. 本帖最后由 user3000 于 2012-1-13 11:48 编辑
2个帮助里的例子
Run("winver.exe")
$HWND=WinWaitActive('','')
If IsHWnd($HWND) Then
MsgBox(32,$HWND,'系统关于窗口出现咯...我们禁用掉确定按钮试试')
ControlDisable($HWND, "", "Button1")
Else
MsgBox(32,"ERROR","貌似没找到窗口嘛...")
EndIf
Run("winver.exe")
$HWND=WinWaitActive('','')
If IsHWnd($HWND) Then
;先禁用
ControlDisable($HWND, "", "Button1")
MsgBox(32,$HWND,'系统关于窗口出现咯...我们启用确定按钮试试')
ControlEnable($HWND, "", "Button1")
Else
MsgBox(32,"ERROR","貌似没找到窗口嘛...")
EndIf
还有别的 .... 请查帮助手册! 2楼朋友说的 GUICtrlSetState 貌似只能用在自己写的GUI里面,第三方程序的不行吧
3楼朋友的我试试看…… 不行,我发现那个软件里面其实是嵌入了个IE页面,所以ControlDisable之类的函数不起作用……
IE操作的UDF里面,貌似没有禁用,启用一个滚动条的函数-_- 回复 5# godhawk
直接改htm源码 有自带的工具!! 你找找看!!!
页:
[1]