Bla*_*z0r 5 windows service c#-4.0
我目前正在开发一个 Windows 服务(它启动了,所以这是一件好事)。最大的问题是如何在开始参数字段中获取参数(当然无需手动操作)。
所以我想看到的是以下内容。安装服务后,如果发生以下情况,我会喜欢它。
安装服务并设置启动参数。
怎么会做这样的事情(已经在浏览 StackOverflow 但它不符合我想要的)

我提出这个问题的原因如下:该服务是 GUI 和接收后端之间通信层的一部分。如果后端位置不同(例如另一个 IP 地址),则服务需要相应地具有新地址。
如果您想了解更多信息,请询问(如果某些内容不符合要求,请不要在帖子中“只问:)”)
提前致谢
使用sc.exe:
c:\>sc config <myservice> binPath= "\path\to\myservice.exe -param -param"
Run Code Online (Sandbox Code Playgroud)
更新您的问题后,我了解您想要完成的任务。据我目前所知,不使用注册表是无法设置这些启动参数的。您必须从服务控制台或使用安装程序手动执行此操作。当您查看涵盖 ServiceBase.OnStart (MSDN ServiceBase.OnStart 方法)的 MSDN 页面时,它清楚地指出:
在 OnStart 方法中而不是在 Main 方法中处理服务的初始化参数。args 参数数组中的参数可以在服务控制台的服务属性窗口中手动设置。在控制台中输入的参数不会被保存;当从控制面板启动服务时,它们会一次性传递给该服务。自动启动服务时必须存在的参数可以放置在服务注册表项 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\) 的 ImagePath 字符串值中。您可以使用 GetCommandLineArgs 方法从注册表获取参数,例如: string[] imagePathArgs = Environment.GetCommandLineArgs();
问题是,在删除服务时,您仍然需要跟踪这些注册表设置。因此,此处提供的链接(“我是否作为服务运行”)也可能有所帮助。
| 归档时间: |
|
| 查看次数: |
10311 次 |
| 最近记录: |