ouyangwentao 发表于 2012-3-27 16:14:18

请问autoit 有没有判断系统是否启动 某服务的函数?

我自己查了一下函数列表,木有发现啊。各位前辈知道吗?

半芯竹 发表于 2012-3-27 16:27:58

#include <ServiceControl.au3>
If _ServGetState('W32Time') = "Running" Then
                MsgBox(0, 0, 'W32Time Is Running')
        Else
MsgBox(0, 0, 'W32Time Is NOT Running')
        EndIf

redapple2008 发表于 2012-3-27 16:29:33

看看帮助,里面都有

502762378 发表于 2012-3-27 16:34:05

你一定没好好搜
$NAME = "BITS"
MsgBox(4096,$NAME&"的状态为:","ture为启动,false为停止"&@CRLF&$NAME&"的状态为"&_wmi_Win32_isServiceStarted($NAME))
Func _wmi_Win32_isServiceStarted($servicename)
        Local $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
        $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Service", "WQL",48)
           For $objItem In $colItems
                   If $objItem.Name = $servicename Then
                           Return $objItem.Started
                   EndIf
           Next
EndFunc

tttbbb999 发表于 2012-3-27 16:49:24

_Service_QueryStatus

获取指定服务的当前状态


#Include <Services.au3>
_Service_QueryStatus( $sServiceName [, $sComputerName] )

&nbsp;

参数

$sServiceName
服务名称
$sComputerName
[可选] 目标计算机的名称. 默认为本地计算机.
&nbsp;

返回值

成功:
返回如下数组:
$Array
服务类型. 可为下列值之一:
1 - 服务是设备驱动.
2 - 服务是文件系统驱动.
16 - 服务运行独立进程.
32 - 服务与其它服务共享进程.
272 - 服务运行于独立进程并可与桌面交互.
288 - 服务与其它服务共享进程并可与桌面交互.
$Array
服务当前的状态. 可为下列值之一:
1 - 已停止.
2 - 正在启动.
3 - 停止中
4 - 运行中.
5 - 将继续.
6 - 暂停中.
7 - 已暂停.
$Array
服务接受并在其处理函数(参阅Handler及HandlerEx)中执行的控制代码.
用户界面进程可通过指定ControlService或ControlServiceEx函数中的控制命令控制一个服务
默认, 所有服务接受$SERVICE_CONTROL_INTERROGATE值.
可为下列值之一:
1 - 服务可停止.
2 - 服务可暂停及继续.
4 - 系统关机时通知服务.
8 - 服务重新读取启动参数时不必停止和重启.
16 - 服务为不必停止和重启即可接受其约束改变的网络组件.
32 - 计算机硬件配置改变时通知服务.
64 - 计算机电源状态改变时通知服务.
128 - 计算机会话状态改变时通知服务.
256 - 服务可执行预关机任务.
$Array
服务用于报告在其启动和停止时发生错误时的错误代码.
返回指定给服务的错误代码, 服务必须将该值设置为$ERROR_SERVICE_SPECIFIC_ERROR以表示下一值($Array)返回错误代码.
当运行或正常结束时服务应将该值设置为$NO_ERROR.
$Array
当服务启动或停止时返回的由服务指定的错误代码.
如果前一值($Array)报告$ERROR_SERVICE_SPECIFIC_ERROR该值将被忽略.
$Array
在长时间启动, 停止, 暂停, 或继续操作期间服务定时增加的报告其进度的检验点的值.
如, 当服务在启动时服务会增加该值用以完成每步的初始化.
调用服务操作的用户界面程序使用该值在长时间操作期间跟踪服务的进度.
当服务未处于启动, 停止, 暂停, 或继续操作时该值将无效并为0.
$Array
一个未定的启动, 停止, 暂停, 或继续的以毫秒为单位的估计时间.
$Array
服务的进程标识(PID).
$Array
可为下列值之一:
0 - 服务正运行于一个非系统进程中, 或未运行.
1 - 服务运行于必须一直处于运行的系统进程中.
失败:
设置@error非0

ouyangwentao 发表于 2012-3-27 17:17:22

谢谢各位了
页: [1]
查看完整版本: 请问autoit 有没有判断系统是否启动 某服务的函数?