用vc建立services服务应用程序

用vc建立services服务应用程序

ID:1916392

大小:82.00 KB

页数:25页

时间:2017-11-13

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

《用vc建立services服务应用程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、用VC++建立Service服务应用程序收藏为什么要使用服务应该程序呢?服务程序就像系统的一些服务一样,能够自动地启动,并执行相应的操作;而且因为服务程序的在层次上和一般的应用程序不同,其能够在系统启动时就自动地运行,而不像一般的应用程序那样一定要在登陆后才能运行,这些就是服务的一些好处了,如果你也想你的程序具有这样的功能,那么你就可以建立一个服务应用程序了。  下面就跟着我一步一步地教你怎么去创建一个服务应用程序吧。  本文主要介绍了OpenSCManager、CreateService、OpenService、ControlService、DeleteService、R

2、egisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。  一、建立Win32Application应用程序(当然你也可以建立其它的应用程序,但服务一般是没有用户界面的),并命名为ServiceTest。  二、定义全局函数变量//定义全局函数变量voidInit();BOOLIsInstalled();BOOLInstall();BOOLUninstall();voidLogEvent(LPCTSTRpszFormat

3、,...);voidWINAPIServiceMain();voidWINAPIServiceStrl(DWORDdwOpcode);TCHARszServiceName[]=_T("ServiceTest");BOOLbInstall;SERVICE_STATUS_HANDLEhServiceStatus;SERVICE_STATUSstatus;DWORDdwThreadID;  三、添加Init初始化函数  这里主要是设置服务句柄和状态。hServiceStatus=NULL;status.dwServiceType=SERVICE_WIN32_OWN_PROCESS

4、;status.dwCurrentState=SERVICE_STOPPED;tatus.dwControlsAccepted=SERVICE_ACCEPT_STOP;status.dwWin32ExitCode=0;status.dwServiceSpecificExitCode=0;status.dwCheckPoint=0;status.dwWaitHint=0;  四、添加安装和删除服务函数  这里主要是用到了五个函数OpenSCManager、CreateService、OpenService、ControlService、DeleteService。OpenSC

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

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

7、ULL,SC_MANAGER_ALL_ACCESS); //打开服务 OpenService(hSCM,szServiceName,SERVICE_STOP

8、DELETE); //停止服务 ControlService(hService,SERVICE_CONTROL_STOP,&status); //删除服务 DeleteService(hService); …}五、添加服务主线程函数和控制函数  这里调用RegisterServiceCtrlHandler来注册服务的控制函数,这里要设置status.dwCon

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

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

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