当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中创建可以使用GUI*或*作为Windows服务运行的Windows应用程序?

如何解决《如何在C#中创建可以使用GUI*或*作为Windows服务运行的Windows应用程序?》经验,为你挑选了1个好方法。

我想用C#创建一个应用程序...:

可以作为Windows应用程序运行,具有GUI(它将指示进度,状态等)

要么

可以作为Windows服务运行,无需GUI

可能吗?有人可以让我开始吗?

我想替代方案是我可以创建一个Windows服务,然后是一个单独的GUI应用程序,它可以轮询Windows服务以从中获取数据(进度,状态等).

在这种情况下......如何从我的GUI应用程序中获取Windows服务中的数据?



1> jeremcc..:

我正在做类似你所要求的事情.我已对其进行了编程,以便在将命令行参数"/ form"发送到可执行文件时,它将弹出一个Windows窗体而不是作为服务运行.

至于运行后台作业本身,在这两种情况下,您都需要执行某种线程(可能带有计时器)来执行工作并将状态异步报告回表单.这将是关于创建线程GUI应用程序的完全不同的讨论主题.

"表单或服务"代码如下所示:

static class Program
{
    /// 
    /// The main entry point for the application.
    /// 
    private static void Main(string[] args)
    {
        if (args.Length > 0 && args[0] == "/form")
        {
            var form = new MainForm();
            Application.Run(form);
            return;
        }

        var ServicesToRun = new ServiceBase[]
            {
                new BackgroundService()
            };

        ServiceBase.Run(ServicesToRun);
    }
}

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有