枚举系统当前已安装的NTService
2005-10-28 14:16
363 查看
枚举系统当前已安装的NTService |
本文介绍了如何获取系统已安装的NTService。 相关Api: EnumServicesStatus The EnumServicesStatus function enumerates services in the specified service control manager database. The name and status of each service are provided. This function has been superseded by the EnumServicesStatusEx function. It returns the same information EnumServicesStatus returns, plus the process identifier and additional information for the service. In addition, EnumServicesStatusEx enables you to enumerate services that belong to a specified group. BOOL EnumServicesStatus( SC_HANDLE hSCManager, DWORD dwServiceType, DWORD dwServiceState, LPENUM_SERVICE_STATUS lpServices, DWORD cbBufSize, LPDWORD pcbBytesNeeded, LPDWORD lpServicesReturned, LPDWORD lpResumeHandle ); sample: function ServiceGetList(sMachine: string; dwServiceType, dwServiceState: DWord; slServicesList: TStrings): boolean; var j: integer; schm: SC_Handle; nBytesNeeded, nServices, nResumeHandle: DWord; ServiceStatusRecs: array[0..511] of TEnumServiceStatus; begin Result := false; schm := OpenSCManager(PChar(sMachine), nil, SC_MANAGER_ALL_ACCESS); try if (schm = 0) then Exit; nResumeHandle := 0; while True do begin EnumServicesStatus(schm, dwServiceType, dwServiceState, @ServiceStatusRecs[0], sizeof(ServiceStatusRecs), @nBytesNeeded, @nServices, @nResumeHandle); for j := 0 to nServices - 1 do begin slServicesList.Add(ServiceStatusRecs[j].lpDisplayName + '---' + ServiceStatusRecs[j].lpServiceName); end; if nBytesNeeded = 0 then Break; end; Result := true; finally if schm > 0 then CloseServiceHandle(schm); end; end; procedure TForm1.btnServiceGetListClick(Sender: TObject); begin ServiceGetList('', SERVICE_WIN32, SERVICE_STATE_ALL, lbServices.Items); end; |
相关文章推荐
- 解决安装微信开发工具显示 ‘当前系统不是安全代理’问题
- Android----获得当前应用包名、当前activity的名字、推断是否是系统桌面、service类
- C#中获取当前系统中安装的所有字体及预定义颜色
- 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。
- 四种方法实现VC枚举系统当前进程
- sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ?
- 四种方法实现VC枚举系统当前进程
- Framework 当前系统安装版本确认
- 四种方法实现VC枚举系统当前进程
- iWay Service Manager 5.6 for Windows NT安装
- 将源码包安装的服务,加入系统服务,可以使用service开启和关闭
- 当前标识(NT?AUTHORITY/NETWORK?SERVICE)没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary?ASP.NET?Files”的写访问权限
- 枚举当前系统中的所有用户的名称
- 系统启动时出现错误:应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {BA126AD1-2166-11D1-B1D0-00805FC1270E})的 本地 激活 权限授予用户 NT AUTHORITY/NETWORK SERVICE
- 安装驱动提示当前安装在系统上的筛选器已达到极限
- 非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名
- 枚举当前系统进程以及进程加载模块
- msi安装文件无法在当前系统安装时
- 四种方法实现VC枚举系统当前进程
- .NET自动化测试手记(3)- 查看当前系统安装的更新