繁体   English   中英

.NET服务的打开窗口/对话框

[英]Opening window/dialog from .Net Service

我创建了一个C#.Net Windows服务。 此服务正在使用一些配置文件。 现在,我们有另一个由应用程序加载的dll组件,然后从那里创建配置文件。 我想从我的直接服务中打开此dll组件。 遵循我要在最终服务exe中提供的选项,它将作为服务以及配置程序。

假设exe名称为SampleServ.exe,则选项应为:

  1. 没有任何参数,它应该作为服务启动
  2. 使用SampleServ.exe -config之类的参数(它应该启动配置器而不是服务)

我正在尝试这样

public static void Main(string[] args)
{
    if (args.Length == 0)
    {
        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[] 
        { 
           new Service1() 
        };
        ServiceBase.Run(ServicesToRun);

    }
    else
    {
        MainPage wnd = new MainPage();
        wnd.ShowDialog();
    }
}

这里MainPage是派生的Window,由于服务限制,我无法添加名称空间system.window。

如果其他方法可行,请告诉我。


在项目参考中添加更多组件之后,我就可以执行此操作。 我添加了诸如“ PresentationCore”,“ PresentatinoFramework”,“ System.Xaml”之类的参考。 我只是想知道添加此类组件是否有任何含义。 任何想法?

否则现在我的代码正在工作...

您好,这里是您需要的完整示例,还包括安装/卸载功能

http://blogs.microsoft.co.il/blogs/kim/archive/2009/01/04/self-installing-windows-service.aspx

使用Environment.GetCommandLineArgs来获取参数(但请注意,索引0是程序的名称)。 如果参数1不是“ -config”,则作为服务启动,否则显示您的配置表单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM