有没有办法在Win 7中获得所有服务的完整列表,而无需安装Net Framework 4等API?我希望尽可能本地获取列表。
答案 0 :(得分:5)
以管理员身份运行cmd控制台,然后运行“sc query type = service state = all”
答案 1 :(得分:1)
您可以使用Win API OpenSCManager功能,然后使用EnumServicesStatus
枚举服务和他们的状态 上有一个完整的服务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来查看正在运行的服务列表
这将为您提供一个很好的运行列表。