专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C# 编写Windows服务实现开机启动一个程序

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:27:37       共计:3617 浏览

如果有一个应用程序,想要在电脑开机的时候自动启动(即使用户未登录Windows也要启动),可以用Windows服务来实现,我只是很简单的尝试了一下,由于前段时间做的一个办公QQ,在服务器端需要始终运行一个控制台程序来监听各种消息,但不能每次开机手动去启动这个控制台程序,所以就写了一个Windows服务,我用VS2008写的,以下是简单做法:

先在VS中创建一个Windows服务的项目,在自动生成的service1.cs文件里添加如下语句:

string StartAppPath = @"C:\Program Files\办公QQ服务\QQService.exe";

这是我要运行的控制台程序的路径,你用的时候换成你的就可以了,然后在OnStart()函数中添加如下代码:

try

            {

                Process proc = new Process();

                proc.StartInfo.FileName = StartAppPath; //注意路径  

                proc.Start();

            }

            catch (System.Exception ex)

            {

                //错误处理  

            }  

    双击Service1.cs打开设计视图,在设计视图中右键,选择添加安装程序,然后在生成的ProjectInstaller.Designer.cs文件中的InitializeComponent()函数中添加如下代码,具体作用不甚清楚:

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;  

 

            this.serviceInstaller1.ServiceName = "办公QQ服务";     //我的服务名称

            this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic;    \\服务自动运行

    好了,现在可以编译生成exe了,下面要用cmd命令将刚才写的这个Windows服务安装并启动:

先cmd运行命令: cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\  

       进入.net2.0的文件夹,因为里面有个InstallUtil.exe的应用程序是我们需要用的,上面这个路径是我安装的路径,你根据需要改成自己的就行了,然后继续写下一个cmd命令:

       InstallUtil C:\QQ_WinService.exe

       这个.exe应用程序是我开头提到的用VS2008刚创建的,你也要根据需要换成你的,我直接把这个.exe拷出来放在C盘根目录下了,你到时换成你自己的路径就可以了

       提示服务安装成功后,继续写下一个命令,启动这个服务:

       net start 办公QQ服务

       “办公QQ服务”是我安装的服务的名称,这里也需要换成你自己的

       现在这个Windows服务就已经写好了,当然,这些cmd命令也可以写成一个批处理文件,要停止这个服务的话可以用:

       Net stop 办公QQ服务

       然后删除这个服务:

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

InstallUtil /u C:\QQ_WinService.exe

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe | ·下一条:C# 利用 Windows服务模板 创建、安装与卸载Windows服务

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有