vc6开发windows服务程序

vc6开发windows服务程序

ID:8792113

大小:197.00 KB

页数:8页

时间:2018-04-07

vc6开发windows服务程序_第1页
vc6开发windows服务程序_第2页
vc6开发windows服务程序_第3页
vc6开发windows服务程序_第4页
vc6开发windows服务程序_第5页
资源描述:

《vc6开发windows服务程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、VC++6开发Windows服务程序http://blog.csdn.net/zhongguoren666/article/details/7528687下面介绍使用VC++开发Windows服务程序。       首先运行VC++6,选择新建工程,在出现的下面窗口中选择”ATLCOMAppWizard“,并选择工程放置位置和相应的工程名,然后选择确定按钮。此时出现如下图窗口界面,在此界面中选择”服务(EXE)“,然后选择完成按钮。在接下来的窗口中选择确定按钮。则VC完成向导并生成相应代码(效果如

2、下)。       程序的进入点是全局函数_tWinMain,仔细看一下这个函数,我们会发现当我们运行程序时,可以加上参数,例如:winsvr/RegServer或者winsvr-RegServer,这个是用来本地服务器注册(RegisterasLocalSRegisterasServiceerver)。       其中winsvr/Service或者winsvr-Service,这个是服务的注册(RegisterasService);winsvr/UnRegServer或者winsvr-UnR

3、egServer,这个是服务的删除。       所以,当我们写好了服务程序,只要运行的时候加上参数Service,这个时候在SCM中就会看到我们的服务了。       每次编码后测试都要在命令行中加参数运行服务才可以在SCM中列出来这样很麻烦,因此可以采用如下方式来处理:选择VCIDE的菜单工程->设置,再选择自定义组建面板(如下图所示)在"$(TargetPath)"/RegServer的下面加上:"$(TargetPath)"/Service,这样当我们每次编码后编译程序,就不用再在命令行中

4、去加参数执行我们的服务程序完成服务的注册了。同时通过界面我们也看到,向导为我们建立了一个类:CServiceModule,全局变量_Module就是这个类的实例。Init():这个函数用于完成一些初始化工作;Run():这个函数就是服务开始运行后的内容,我们接下来要修改的内容也就是从这里入手。Install():有如下一段代码SC_HANDLEhService=::CreateService(       hSCM,m_szServiceName,m_szServiceName,       SE

5、RVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,       SERVICE_DEMAND_START,SERVICE_ERROR_NORMAL,       szFilePath,NULL,NULL,_T("RPCSS"),NULL,NULL);注意:如果服务中启动的程序具有窗口(即具有交互功能则要求使用如下代码)SC_HANDLEhService=::CreateService(       hSCM,m_szServiceName,m_szServi

6、ceName,       SERVICE_ALL_ACCESS,SERVICE_WIN32_SHARE_PROCESS

7、SERVICE_INTERACTIVE_PROCESS,       SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,       szFilePath,NULL,NULL,_T("RPCSS"),NULL,NULL);这个CreateService函数原先如下:SC_HANDLECreateService( SC_HANDLEhSCMana

8、ger,//handletoSCMdatabase LPCTSTRlpServiceName,//nameofservicetostart LPCTSTRlpDisplayName,//displayname DWORDdwDesiredAccess,//typeofaccesstoservice DWORDdwServiceType,//typeofservice DWORDdwStartType,//whentostartservice DWORDdwErrorControl,//severi

9、tyofservicefailure LPCTSTRlpBinaryPathName,//nameofbinaryfile LPCTSTRlpLoadOrderGroup,//nameofloadorderinggroup LPDWORDlpdwTagId,//tagidentifier LPCTSTRlpDependencies,//arrayofdependencynames LPCTSTRlpServiceStartName,//accountname LPCTSTRlpPa

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

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

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