在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
program Project1; {$APPTYPE CONSOLE} uses Windows, WinSvc; type SERVICE_DESCRIPTION = packed record lpDescription: PWChar; end; PSERVICE_DESCRIPTION = ^SERVICE_DESCRIPTION; function QueryServiceConfig2(hService: THandle; dwInfoLevel: DWORD; lpBuffer: Pointer; cbBufSize: DWORD; var pcbBytesNeeded: DWORD): LongBool; stdcall; external 'advapi32.dll' name 'QueryServiceConfig2W'; //////////////////////////////////////////////////////////////////////////////// // Procedure : SysErrorMessage // Comment : Returns last error as formated string function SysErrorMessage(ErrorCode: Integer): string; var Len: Integer; Buffer: array[0..55]of Char; begin Len := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_ARGUMENT_ARRAY, nil, ErrorCode, 0, Buffer, SizeOf(Buffer), nil); while (Len > 0)and(Buffer[Len-1] in [#0..#32, '.']) do Dec(Len); SetString(Result, Buffer, Len); end; function GetServiceDesciption(Computer, Servicename: PWChar; var Description: WideString): Boolean; var sc: THandle; os: THandle; sd: Boolean; dwNeeded: DWORD; Buffer: Pointer; begin dwNeeded := 0; Buffer := nil; sc := OpenSCManagerW(Computer, nil, SC_MANAGER_CONNECT); if sc <> 0 then begin os := OpenServiceW(sc, Servicename, SERVICE_QUERY_CONFIG); if os <> 0 then begin sd := QueryServiceConfig2(os, 1, nil, 0, dwNeeded); if (not sd) and (GetLastError = ERROR_INSUFFICIENT_BUFFER) then begin try GetMem(Buffer, dwNeeded); result := QueryServiceConfig2(os, 1, Buffer, dwNeeded, dwNeeded); if result then begin Description := PSERVICE_DESCRIPTION(Buffer)^.lpDescription; end; finally FreeMem(Buffer, dwNeeded); end; end else result := False; end else result := False; end else result := False; end; var description : WideString; begin if not GetServiceDesciption('PC-201212071904', 'AdobeFlashPlayerUpdateSvc', description) then begin Writeln(SysErrorMessage(GetLastError)); Readln; end else MessageBoxW(0, PWideChar(description), 'Dienstbeschreibung', 0); end. http://www.lsworks.net/article/97.html |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论