U盘只读程序源码源码
U盘只读程序源码源码 DELPHI版 function InstallService(SvcName, SvcDispName, SvcFullPath: string): integer; var hSCM, hService: SC_HANDLE; sInfo: string; begin result := 0; hSCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS); if hSCM = 0 then begin result := GetLastError; {$IFDEF DEBUG} ShowMessage(SysErrorMessage(result)); {$ENDIF} exit; end; try hService := CreateService(hSCM, PChar(SvcName), PChar(SvcDispName), SERVICE_ALL_ACCESS, //SERVICE_START OR SERVICE_QUERY_STATUS OR _DELETE, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, //SERVICE_AUTO_START,SERVICE_DEMAND_START SERVICE_ERROR_NORMAL, PChar(SvcFullPath), nil, nil, nil, nil, nil); if hService = 0 then begin result := GetLastError; {$IFDEF DEBUG} ShowMessage(SysErrorMessage(result)); {$ENDIF} case result of ERROR_ACCESS_DENIED: sInfo := 'ERROR_ACCESS_DENIED'; ERROR_CIRCULAR_DEPENDENCY: sInfo := 'ERROR_CIRCULAR_DEPENDENCY'; ERROR_DUPLICATE_SERVICE_NAME: sInfo := 'ERROR_DUPLICATE_SERVICE_NAME'; ERROR_INVALID_HANDLE: sInfo := 'ERROR_INVALID_HANDLE'; ERROR_INVALID_NAME: sInfo := 'ERROR_INVALID_NAME'; ERROR_INVALID_PARAMETER: sInfo := 'ERROR_INVALID_PARAMETER'; ERROR_INVALID_SERVICE_ACCOUNT: sInfo := 'ERROR_INVALID_SERVICE_ACCOUNT'; ERROR_SERVICE_EXISTS: sInfo := 'ERROR_SERVICE_EXISTS'; end; {$IFDEF DEBUG} ShowMessage(sInfo); {$ENDIF} end else CloseServiceHandle(hService); finally CloseServiceHandle(hSCM); end; end;
下载地址
用户评论