如何获取Windows 7上所有服务的列表?

时间:2012-04-30 14:56:25

标签: windows api list service

有没有办法在Win 7中获得所有服务的完整列表,而无需安装Net Framework 4等API?我希望尽可能本地获取列表。

4 个答案:

答案 0 :(得分:5)

以管理员身份运行cmd控制台,然后运行“sc query type = service state = all”

答案 1 :(得分:1)

您可以使用Win API OpenSCManager功能,然后使用EnumServicesStatus

枚举服务和他们的状态

Dev Center

上有一个完整的服务API参考

答案 2 :(得分:1)

下载工具Wmi Code Creator。它将帮助您在C#,VB.Net或Visual Basic脚本中制作WMI查询。

这是使用VBScript的解决方案

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_Service",,48) 
For Each objItem in colItems 
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_Service instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "DisplayName: " & objItem.DisplayName
Next

什么是WMI?(来自http://technet.microsoft.com/en-us/library/ee692772.aspx

  

Windows Management Instrumentation是一种核心Windows管理技术;您可以使用WMI来管理本地和远程计算机。 WMI提供了一种使用编程语言或脚本语言执行日常管理任务的一致方法。例如,您可以:

* Start a process on a remote computer.
* Schedule a process to run at specific times on specific days.
* Reboot a computer remotely.
* Get a list of applications installed on a local or remote computer.
* Query the Windows event logs on a local or remote computer.
     

WMI中的“Instrumentation”一词指的是WMI可以获取有关计算机系统内部状态的信息,就像汽车的仪表板仪器可以检索和显示有关引擎状态的信息一样。 WMI通过建模Windows系统中的磁盘,进程或其他对象等对象来“设备”。这些计算机系统对象使用诸如Win32_LogicalDisk或Win32_Process之类的类建模;正如您所料,Win32_LogicalDisk类为计算机上安装的逻辑磁盘建模,Win32_Process类为当前在计算机上运行的任何进程建模。类基于称为公共信息模型(CIM)的可扩展模式。 CIM模式是分布式管理任务组(http://www.dmtf.org)的公共标准。

     

WMI功能还包括事件,远程处理,查询,视图,架构的用户扩展,工具等。   http://technet.microsoft.com/en-us/library/ee692772.aspx

答案 3 :(得分:0)

我不知道这是否会对您有所帮助,但您可以通过进入cmd行并输入net start来查看正在运行的服务列表

这将为您提供一个很好的运行列表。