易语言系统服务多功能操作

易语言 2020-08-13 18:38:28

易语言系统服务多功能操作

.如果真 (路径 = “”)
路径 = 取运行目录 () + “\” + 取执行文件名 () + “ -pp ” + 名称
.如果真结束
.如果真 (显示名 = “”)
显示名 = 名称
.如果真结束
.如果真 (类型 < 1)
类型 = 16
.如果真结束
.如果真 (启动模式 < 1 或 启动模式 > 4)
启动模式 = 3
.如果真结束
hSCManager = OpenSCManagerA (0, 0, 2)
.如果真 (hSCManager = 0)
返回 (假)
.如果真结束
hService = CreateServiceA (hSCManager, 名称, 显示名, 983551, 类型, 启动模式, 0, 路径, 0, 0, 0, 0, 0)
.判断开始 (hService ≠ 0)
CloseServiceHandle (hService)
CloseServiceHandle (hSCManager)
返回 (真)
.默认
hService = GetLastError ()
.判断开始 (hService = 5)
错误文本 = “提供的hSCManager参数没有SC_MANAGER_CREATE_SERVICE权限。”
.判断 (hService = 6)
错误文本 = “提供的hSCManager参数无效。”
.判断 (hService = 87)
错误文本 = “其他参数无效。”
.判断 (hService = 123)
错误文本 = “提供的服务名称无效。”
.判断 (hService = 1057)
错误文本 = “由lpServiceStartName参数指定的文件不存在。” + 路径
.判断 (hService = 1059)
错误文本 = “存在循环嵌套的服务依赖关系。”
.判断 (hService = 1073)
错误文本 = “已存在完全相同的服务。”
.判断 (hService = 1078)
错误文本 = “显示名称已在SCM中被其他服务注册为服务名称或显示名称。”
.默认
错误文本 = “未知错误。(错误码:” + 到文本 (hService) + “)”