|
发表于 2024-10-20 09:52:09
高大上手机用户
|
显示全部楼层
美国
服务启动程序的标识: 我们需要一种方式让程序识别它是被服务启动的,而不是被用户直接运行的。 常见的做法是使用命令行参数、环境变量或者互斥量等作为标识。
程序启动时检查标识: 程序在启动时需要检查是否存在预设的标识。 如果标识存在,则继续运行;如果标识不存在,则提示错误并退出。
服务启动程序时设置标识: 服务在启动程序时需要设置预设的标识。 可以将标识写入命令行参数、环境变量或者创建互斥量等。
以下是具体的实现方法和示例代码:
方法一:使用命令行参数
服务设置标识: 服务启动程序时,在命令行参数中添加一个特定的参数,例如 /service。
程序检查标识: 程序启动时检查命令行参数中是否存在 /service 参数。
.版本 2
.支持库 spec
.子程序 _启动子程序, 整数型
.局部变量 命令行, 文本型
.局部变量 参数数组, 文本型, , "0"
命令行 = 取命令行 ()
参数数组 = 分割文本 (命令行, “/”, )
.如果真 (是否为空 (参数数组) = 真 或 寻找文本 (参数数组, “service”, , 假) = -1)
信息框 (“请通过服务启动程序!”, 0, “错误”, )
返回 (0)
.如果真结束
' 程序正常启动后的代码...
返回 (0)
.子程序结束
方法二:使用环境变量
服务设置标识: 服务启动程序前,设置一个特定的环境变量,例如 SERVICE_RUN。
程序检查标识: 程序启动时检查是否存在 SERVICE_RUN 环境变量。
.版本 2
.支持库 spec
.子程序 _启动子程序, 整数型
.如果真 (取环境变量 (“SERVICE_RUN”) = “”)
信息框 (“请通过服务启动程序!”, 0, “错误”, )
返回 (0)
.如果真结束
' 程序正常启动后的代码...
返回 (0)
.子程序结束 |
|