MSDN中有安装服务的例子Installing a Service(可点击进入),我们这里的创建服务,和MSDN里的例子基本上是一样的。这里做一些简单的说明:
打开控制面板,管理工具,服务。我们看到的集合了服务的界面也叫做服务控制管理器(SCM)。
用程序创建服务,首先要用OpenSCManager函数,建立一个到服务控制管理器的连接,并打开指定的数据库。将该函数的返回的指定服务控制管理器数据库的句柄传入CreateService函数。完成服务创建工作。最终的效果,程序运行之后,在服务控制管理器中,能看到我们创建的服务
程序代码如下:
1 #include <windows.h> 2 #include <winsvc.h> 3 #include <stdio.h> 4 5 void InstallServices(); 6 7 void main() 8 { 9 InstallServices(); 10 } 11 12 void InstallServices() 13 { 14 char name[100]; 15 char info[200]; 16 char path[300]; 17 18 printf("服务名称:"); 19 gets(name); 20 printf("显示名称:"); 21 gets(info); 22 printf("程序路径:"); 23 gets(path); 24 25 SC_HANDLE manager = NULL; 26 SC_HANDLE service = NULL; 27 28 manager = OpenSCManager(NULL,NULL,SC_MANAGER_CREATE_SERVICE); 29 30 if(manager == NULL) 31 { 32 printf("error!\n"); 33 return; 34 } 35 36 service = CreateService(manager,name,info,SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS, 37 SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,path,0,0,0,0,0); 38 if(service) 39 printf("Install Success!\n"); 40 else 41 printf("Install Falid!\n"); 42 43 CloseServiceHandle(service); 44 CloseServiceHandle(manager); 45 }
最后我们打开SCM看到我们建立的服务了
时间: 2024-10-01 03:41:28