⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_c++学习笔记-后台服务程序开发模式(一).htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 5 页
字号:
				year= tmpDate.getYear();
			
			document.write(year);
			document.write(".");
			document.write(month);
			document.write(".");
			document.write(date);
			// -->
			</SCRIPT>
      </B>&nbsp;&nbsp;</TD></TR>
  <TR bgColor=#999999>
    <TD colSpan=3 height=1></TD></TR></TBODY></TABLE>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD align=middle bgColor=#fafafa class=td1 vAlign=top width=150><BR>
      <SCRIPT src="CSDN_文档中心_C++学习笔记-后台服务程序开发模式(一).files/microsoft.js"></SCRIPT>
    </TD>
    <TD align=middle width=620>
      <TABLE bgColor=#eeeeee border=0 cellPadding=0 cellSpacing=0 width=600>
        <TBODY>
        <TR bgColor=#ffffff>
          <TD align=middle height=10 width=50></TD>
          <TD align=right><A href="http://www.csdn.net/">CSDN</A> - <A 
            href="http://www.csdn.net/develop/">文档中心</A> - <FONT 
            color=#003399>Visual C++</FONT>&nbsp;&nbsp;&nbsp;&nbsp; </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>标题</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;C++学习笔记-后台服务程序开发模式(一)</B>&nbsp;&nbsp;&nbsp;&nbsp;ashao1981(原作) 
          </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;后台 服务 C++ service</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE border=0 width=600>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 35.95pt; mso-char-indent-count: 3.27; mso-pagination: widow-orphan"><SPAN 
            lang=EN-US style="FONT-SIZE: 11pt">&nbsp;&nbsp;</SPAN><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一直感觉</SPAN><SPAN 
            lang=EN-US style="FONT-SIZE: 9pt">VC++</SPAN><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">太复杂了,但昨天看了汪蒲阳编著的因特网应用编程,其中写到后台服务程序的编写,论述的非常详细,而且逻辑清晰,看了之后感觉明白不少,故拿来与需要之人共享,并更正了原程序的一些错误,补充了一些材料。另外还有一种用</SPAN><SPAN 
            lang=EN-US style="FONT-SIZE: 9pt">C++</SPAN><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编写后台服务程序的思路(不算</SPAN><SPAN 
            lang=EN-US style="FONT-SIZE: 9pt">.NET</SPAN><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上服务程序开发模型)</SPAN><SPAN 
            lang=EN-US style="FONT-SIZE: 9pt">,</SPAN><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以后整理好了再发上来。</SPAN><SPAN 
            lang=EN-US style="FONT-SIZE: 9pt"><?xml:namespace prefix = o ns = 
            "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 39.25pt; mso-char-indent-count: 3.27; mso-pagination: widow-orphan"><I><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></SPAN></I></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">在<SPAN 
            lang=EN-US>2000/XP等基于NT 的操作系统中,有一个服务管理器,它管理的后台进程被称为 
            service。<o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">服务是一种应用程序类型,它在后台运行,与<SPAN 
            lang=EN-US> UNIX 后台应用程序类似。服务应用程序通常可以<o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">在本地和通过网络为用户提供一些功能,例如客户端<SPAN 
            lang=EN-US>/服务器应用程序、Web 服务器、数据库服<o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">务器以及其他基于服务器的应用程序。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>后台服务 
            程序是在后台悄悄运行的。我们通过将自己的程序登记为服务,可以使自己的程序不出现<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">在任务管理器中,并且随系统启动而最先运行,随系统关闭而最后停止。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN><o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>服务控制管理器是一个RPC 
            服务器,它显露了一组应用编程接口,程序员可以方便的编写程序来配置<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">服务和控制远程服务器中服务程序。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>服务程序通常编写成控制台类型的应用程序,总的来说,一个遵守服务控制管理程序接口要求的程序<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">包含下面三个函数:<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">1。服务程序主函数(main):调用系统函数 
            StartServiceCtrlDispatcher 连接程序主线程到服务控制管理程序。<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">2。服务入口点函数(ServiceMain):执行服务初始化任务,同时执行多个服务的服务进程有多个服务入口函数。<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">3。控制服务处理程序函数(Handler):在服务程序收到控制请求时由控制分发线程引用。(此处是Service_Ctrl)。<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 13.5pt; mso-char-indent-count: 1.5; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
            style="mso-spacerun: yes">&nbsp;</SPAN>另外在系统运行此服务之前需要安装登记服务程序:installService 
            函数。删除服务程序则需要先删除服务安装登记:removeService 函数。<o:p></o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 13.5pt; mso-char-indent-count: 1.5; mso-layout-grid-align: none"><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: 新宋体; FONT-SIZE: 9pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><o:p>&nbsp;</o:p></SPAN></P>
            <P align=left class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><SPAN 
            style="FONT-FAMILY: 宋体; FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">服务类型:<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <TABLE border=0 cellPadding=0 class=MsoNormalTable 
            style="MARGIN: auto auto auto 29.25pt; mso-cellspacing: 1.5pt">
              <TBODY>
              <TR style="mso-yfti-irow: 0">
                <TD 
                style="BACKGROUND-COLOR: transparent; BORDER-BOTTOM: #88c0b8; BORDER-LEFT: #88c0b8; BORDER-RIGHT: #88c0b8; BORDER-TOP: #88c0b8; PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt; WIDTH: 195.75pt" 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -