且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何把一个c语言程序做成windows服务开机自启动

更新时间:2022-07-02 00:20:04

原文:如何把一个c语言程序做成windows服务开机自启动

目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢?

我们是通过vs6.0,编译后生成了.exe文件,然后对这个exe文件进行开机自启动设置。具体设置步骤如下:

第一,注册服务名称。

(1)下载Instsrv.exe和srvany.exe两个文件。并将其拷贝到C:\WINDOWS文件夹下。

(2)执行命令。C:\WINDOWS>instsrv hope c:\WINDOWS\srvany.exe

这里,我要添加的服务名称叫做hope.此时会提示以下信息:

Make sure that you go into the Control Panel and use

the Services applet to change the Account Name and

Password that this newly installed service will use

for its Security Context.

第二, 找关联。

(1)要让hope服务正常运行,必须在注册表中指定该服务对应的应用程序。运行regedit.

找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,此处有我们刚刚创建的hope服务。

(2)点击hope,选择“新建”-》“项”,将其命名为Parameters.

选定Parameters,在右侧窗口新建一个名为Application的字符串值,将其数值数据设置为hope服务对应的应用程序绝对路径,比如:D:\SDTEL\test\Debug\test.exe.

(3)接着在创建两个字符串值:AppDirectory和AppParameters.其中AppDirectory指定程序所在的目录【此处即为:D:\SDTEL\test\Debug】,AppParameters指明程序的运行参数,当然如果没有的话,这个的值可以空着不写【此处,我的main函数就没有传参,所以空着就醒了,不用写】。

配置完图片如下:

如何把一个c语言程序做成windows服务开机自启动

 (4)接下来,打开“服务”,找到刚才添加的hope服务,打开其属性对话框,选择“登录”选项卡,

“登录身份”中选中“本地系统账户”,如果不想让服务在运行的时候弹出状态窗口,不要勾选“允许服务于桌面交互”的复选框,点击确定。【注意,在我们这里我们是需要看到控制台打印出来的东西的,这里的复选框我们需要选中。】

配置图片如下:

如何把一个c语言程序做成windows服务开机自启动

(5)点击确定后,启动服务即可。