pandarea99 发表于 2009-4-15 16:48:35

关于ControlTreeView的问题

WinWaitActive("金山毒霸 2009 安装程序")
$IsChecked = ControlTreeView("金山毒霸 2009 安装程序", "", "SysTreeView321", "IsChecked", "#2")
If $IsChecked = 1 Then
ControlTreeView("金山毒霸 2009 安装程序", "", "SysTreeView321", "Uncheck", "#2")
EndIf


在安装金山毒霸2009时,到了组件选择界面我不想安装金山网镖

我这样写了为什么还是不能取消金山网镖的Check属性喃?

pandarea99 发表于 2009-4-15 16:57:33

附件为安装时组件选择界面

lynfr8 发表于 2009-4-15 22:07:19

代码感觉没问题
不过有兴趣知道答案
顶一下

pandarea99 发表于 2009-4-16 15:48:54

我把代码改成这样到是解决问题了

WinWaitActive("金山毒霸 2009 安装程序")
$IsChecked = ControlTreeView("金山毒霸 2009 安装程序", "", "SysTreeView321", "IsChecked", "#2")
If $IsChecked = 1 Then
ControlTreeView("金山毒霸 2009 安装程序", "", "SysTreeView321", "Select", "#2")
Send("{SPACE}")
EndIf

之前那样不知道是什么原因了,我还试过用VC向该项发送消息的方式
TVITEM tvItem;
    tvItem.mask = TVIF_HANDLE | TVIF_STATE;
    tvItem.hItem = hItem;
    tvItem.stateMask = TVIS_STATEIMAGEMASK;
    tvItem.state = INDEXTOSTATEIMAGEMASK(2);
    ::SendMessage(hWndControl, TVM_SETITEM, 0, &tvItem);
这样都可以对Check属性进行修改。
之前那样不知道算不算一个BUG了,期待高人解答。
页: [1]
查看完整版本: 关于ControlTreeView的问题