我们有一个Windows服务应用程序。当我们安装服务时,我们传入命令行参数来捕获服务使用的一些值。 例如,这里-r用于标识它是一个安装。
MyService.exe -r /url=value1 /time=value2
这些值存储在本地注册表中。
现在我们希望这些值可配置。也就是说,当我们停止并启动服务时,我们应该能够做类似的事情(-s来识别服务的开始)
MyService.exe -s /time=newvalue
现在,是否可以从命令行读取这个新值?。
答案 0 :(得分:1)
假设您的EXE入口点类似于
static void Main(string[] args)
您可以使用具有所有命令行参数的args
数组作为数组。
如果您没有/无法在入口点获取它,您可以使用
string[] args = Environment.GetCommandLineArgs();
获取命令行参数。
答案 1 :(得分:1)
Windows服务有两种类型的参数:
Process Explorer
轻松搞定。SC START [arguments]
启动服务时使用的内容。方法中传递的参数与“命令行进程参数”不同。因此,SC start
中传递的参数仅为服务本身所知。