用VC++建立Service服务应用程序

用VC++建立Service服务应用程序

ID:42710098

大小:60.00 KB

页数:6页

时间:2019-09-20

用VC++建立Service服务应用程序_第1页
用VC++建立Service服务应用程序_第2页
用VC++建立Service服务应用程序_第3页
用VC++建立Service服务应用程序_第4页
用VC++建立Service服务应用程序_第5页
资源描述:

《用VC++建立Service服务应用程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用VC++建立Service服务应用程序下载源代码  本文主要介绍了OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。  为什么要使用服务应该程序呢?服务程序就像系统的一些服务一样,能够自动地启动,并执行相应的操作;而且因为服务程序的在层次上和一般的应用程序不同,其能

2、够在系统启动时就自动地运行,而不像一般的应用程序那样一定要在登陆后才能运行,这些就是服务的一些好处了,如果你也想你的程序具有这样的功能,那么你就可以建立一个服务应用程序了。下面就跟着我一步一步地教你怎么去创建一个服务应用程序吧。一、建立Win32Application应用程序(当然你也可以建立其它的应用程序,但服务一般是没有用户界面的),并命名为ServiceTest。二、定义全局函数变量。这里主要是设置服务句柄和状态。BOOLIsInstalled();BOOLInstall();BOOLUninstall();voidLogEvent(LPCTSTRpszFo

3、rmat,...);voidWINAPIServiceMain();voidWINAPIServiceStrl(DWORDdwOpcode);TCHARszServiceName[]=_T("ServiceTest");BOOLbInstall;SERVICE_STATUS_HANDLEhServiceStatus;SERVICE_STATUSstatus;DWORDdwThreadID;三、添加Init初始化函数。voidInit(){hServiceStatus=NULL;status.dwServiceType=SERVICE_WIN32_OWN_PROCE

4、SS;status.dwCurrentState=SERVICE_STOPPED;tatus.dwControlsAccepted=SERVICE_ACCEPT_STOP;status.dwWin32ExitCode=0;status.dwServiceSpecificExitCode=0;status.dwCheckPoint=0;status.dwWaitHint=0;}四、添加安装和删除服务函数。这里主要是用到了四个函数OpenSCManager和CreateService。OpenSCManager用于打开服务控制管理器;CreateService用于创建

5、服务;OpenService用于打开已有的服务,返回该服务的句柄;ControlService则用于控制已打开的服务状态,这里是让服务停止后才删除;DeleteService用于删除指定服务。BOOLInstall();{//这里列出主要的两个函数,其它的可以在代码里找。//打开服务控制管理器OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);//创建服务SC_HANDLEhService=::CreateService(hSCM,szServiceName,szServiceName,SERVICE_ALL_ACCESS

6、,SERVICE_WIN32_OWN_PROCESS,SERVICE_DEMAND_START,SERVICE_ERROR_NORMAL,szFilePath,NULL,NULL,_T(""),NULL,NULL);::CloseServiceHandle(hService);::CloseServiceHandle(hSCM);}BOOLUninstall();{//这里列出主要的两个函数,其它的可以在代码里找。//打开服务控制管理器OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);//打开服务OpenService(

7、hSCM,szServiceName,SERVICE_STOP

8、DELETE);//停止服务ControlService(hService,SERVICE_CONTROL_STOP,&status);//删除服务DeleteService(hService);…}五、添加服务主线程函数和控制函数。这里调用RegisterServiceCtrlHandler来注册服务的控制函数,这里要设置status.dwControlsAccepted为SERVICE_ACCEPT_STOP,否则你不能控制这个服务的状态。voidWINAPIServiceMain(){//Reg

9、ister

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。