as86455011 发表于 2009-8-24 00:42:38

关于For语句与 ServiceControl.au3

本帖最后由 as86455011 于 2009-8-24 10:43 编辑

Dim $Serv_o, $Checkbox_o
Dim $n, $a

For $n = 1 To 9
        $a = _ServGetDetails($Serv_o[$n])   
        If $a = "running" Then                        ;第124行(这行出问题)
                GUICtrlSetState($Checkbox_o[$n], $GUI_CHECKED)
        EndIf
Next


调试反馈的信息。E:\Au3???\xpset\xpsea1.au3 (124) : ==> ???????????.:

再补充一下。
$a = _ServGetDetails($Serv_o[$n])

$a = _ServGetDetails($Serv_o)将上面改成这样就没问题。

能否解释一下

as86455011 发表于 2009-8-24 09:12:33

本帖最后由 as86455011 于 2009-8-24 10:30 编辑

顶上:face (31):

问题解决了!!正确应该是这样
问题就是缺少了判断服务的存在。

先是判断是否存在,再判断是否正在运行。

For $n = 1 To 9 ;常用服务状态判断(开始)
        $a = _ServGetDetails($Serv_o[$n])
        If @error <> -1 Then
                If $a = 'Running' Then
                        GUICtrlSetState($Checkbox_o[$n], $GUI_CHECKED)
                EndIf
        Else
                GUICtrlSetState($Checkbox_o[$n], $GUI_INDETERMINATE)
        EndIf
Next ;常用服务状态判断(结束)


:face (39):
页: [1]
查看完整版本: 关于For语句与 ServiceControl.au3