<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>GONGGT@LIVE.CN</title>
    <description></description>
    <link>http://175203509.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>c++builder控制服务</title>
        <author>175203509</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://175203509.javaeye.com">175203509</a>&nbsp;
          链接：<a href="http://175203509.javaeye.com/blog/169242" style="color:red;">http://175203509.javaeye.com/blog/169242</a>&nbsp;
          发表时间: 2008年03月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          //判断msdtc服务是否启动<br />      if(!IsServerRunning("msdtc")){<br />      // Application->MessageBox("未启动","提示",MB_OK);<br />        //启动 msdtc 服务<br />        xxStartService("msdtc");<br />      }<br /><br /><br />/<br /><br />bool __fastcall TfrmMain::xxStartService(LPCSTR ServiceName)<br />  {<br />          bool   ret;<br />          SC_HANDLE   hService;<br />          SC_HANDLE   hManager;<br />          SERVICE_STATUS   stus;  <br />   <br />          hManager   =   OpenSCManager(NULL,<br />                  0,   SC_MANAGER_ALL_ACCESS);  <br />          if   (hManager==NULL)   return   false;  <br />          hService   =   OpenService(hManager,  <br />                  ServiceName,   SERVICE_ALL_ACCESS);<br />          if   (hService   &&   QueryServiceStatus(hService,&stus)){<br />              //如果服务在运行<br />              if   (   stus.dwCurrentState     ==   SERVICE_STOPPED   ){<br />                          //启动服务<br />                ret   =   StartService(hService,   NULL,   NULL   );<br />              }  <br />          }  <br />          else   {  <br />                ret   =   false;  <br />          }  <br />          if   (hService   !=   NULL)  <br />                          CloseServiceHandle(hService);  <br />                           <br />          CloseServiceHandle(hManager);  <br />   <br />          return   ret;  <br />  }<br /><br /><br />bool __fastcall TfrmMain::xxStopService(LPCSTR ServiceName)<br />  {  <br />          bool   ret;  <br />          SC_HANDLE   hService;  <br />          SC_HANDLE   hManager;  <br />          SERVICE_STATUS   stus;<br />   <br />          hManager   =   OpenSCManager(NULL,  <br />                  0,   SC_MANAGER_ALL_ACCESS);  <br />          if   (hManager==NULL)   return   false;<br />          hService   =   OpenService(hManager,  <br />                  ServiceName,   SERVICE_ALL_ACCESS);<br />          if   (hService   &&   QueryServiceStatus(hService,&stus))   {<br /><br />                //判断这个服务是否在运行<br />                if   (   stus.dwCurrentState     ==   SERVICE_RUNNING   ){<br /><br />                                //              //服务名称 关闭服务<br />                      ret   =   ControlService(hService,SERVICE_CONTROL_STOP,&stus);  <br />                    }<br />              }<br />          else  <br />                  ret   =   false;  <br />          if   (hService   !=   NULL)  <br />                  CloseServiceHandle(hService);  <br />   <br />          CloseServiceHandle(hManager);<br />   <br />          return   ret;<br />  }<br /><br />   //判断系统服务是否启动<br />   bool __fastcall TfrmMain::IsServerRunning(LPCSTR ServiceName)<br />  {  <br />          SC_HANDLE   hScManage   =   OpenSCManager("",NULL,SC_MANAGER_ALL_ACCESS);<br />          <br />          SERVICE_STATUS   SrvStatus;  <br />         <br />          DWORD   dwStat   =   0;  <br />           <br />          if(hScManage   >   0)  <br />          {<br />                  <br />                  SC_HANDLE   hSrv   =   OpenService(hScManage,ServiceName,SERVICE_QUERY_STATUS);<br />                   <br />                  if(hSrv   >   0)  <br />                  {  <br />                         <br />                          if(QueryServiceStatus(hSrv,   &SrvStatus))<br />                                  dwStat   =   SrvStatus.dwCurrentState;<br />                         <br />                          CloseServiceHandle(hSrv);<br />                  }<br />          }<br />          CloseServiceHandle(hScManage);<br />          return   dwStat   ==   SERVICE_RUNNING;<br />  }
          <br/>
          <span style="color:red;">
            <a href="http://175203509.javaeye.com/blog/169242#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 07 Mar 2008 21:57:08 +0800</pubDate>
        <link>http://175203509.javaeye.com/blog/169242</link>
        <guid>http://175203509.javaeye.com/blog/169242</guid>
      </item>
  </channel>
</rss>