久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用VC++建立Service服務(wù)應(yīng)用程序C/C++(二)

 杰杰梅梅一生一世 2010-07-06
五,、添加服務(wù)主線程函數(shù)和控制函數(shù)

  這里調(diào)用RegisterServiceCtrlHandler來注冊服務(wù)的控制函數(shù),這里要設(shè)置status.dwControlsAccepted為SERVICE_ACCEPT_STOP,,否則你不能控制這個服務(wù)的狀態(tài),。

void WINAPI ServiceMain()
{
 // Register the control request handler

 status.dwCurrentState = SERVICE_START_PENDING;
 status.dwControlsAccepted = SERVICE_ACCEPT_STOP;//這個要使用,否則你不能控制

 //注冊服務(wù)控制

 hServiceStatus = RegisterServiceCtrlHandler(szServiceName, ServiceStrl);
 if (hServiceStatus == NULL)
 {
  LogEvent(_T("Handler not installed"));
  return;
 }
 SetServiceStatus(hServiceStatus, &status);
 status.dwWin32ExitCode = S_OK;
 status.dwCheckPoint = 0;
 status.dwWaitHint = 0;
 status.dwCurrentState = SERVICE_RUNNING;
 SetServiceStatus(hServiceStatus, &status);

 //模擬服務(wù)的運行,,10后自動退出。應(yīng)用時將主要任務(wù)放于此即可

 int i = 0;
 while (i < 10)
 {
  Sleep(1000);
  i++;
 }
 //

 status.dwCurrentState = SERVICE_STOPPED;
 SetServiceStatus(hServiceStatus, &status);
 LogEvent(_T("Service stopped"));
}

  六,、在主線程函數(shù)里注冊控制函數(shù)和程序執(zhí)行主體

void WINAPI ServiceMain()
{
 …

 //如上,,這里主要是說明這就是程序的執(zhí)行體
 //模擬服務(wù)的運行,10后自動退出,。應(yīng)用時將主要任務(wù)放于此即可

 int i = 0;
 while (i < 10)
 {
  Sleep(1000);
  i++;
 }
 …
}

  七,、在main函數(shù)里注冊添加安裝、刪除,、注冊主函數(shù)

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,

int nCmdShow)
{
 Init();
 dwThreadID = ::GetCurrentThreadId();
 SERVICE_TABLE_ENTRY st[] =
 {
  { szServiceName, (LPSERVICE_MAIN_FUNCTION)ServiceMain },
  { NULL, NULL }
 };

 if (stricmp(lpCmdLine, "/install") == 0)
 {
  Install();
 }
 else if (stricmp(lpCmdLine, "/uninstall") == 0)
 {
  Uninstall();
 }
 else
 {
  if (!::StartServiceCtrlDispatcher(st))
  {
   LogEvent(_T("Register Service Main Function Error!"));
  }
 }
 return 0;
}

  八,、總結(jié)

  其它做一個服務(wù)程序并難,主要是懂得程序的執(zhí)行體放于哪里,?和注冊程序的主函數(shù)和注冊控制函數(shù),,如果這兩個沒有注冊的話,你就程序就不知道如何去控制了,。status.dwControlsAccepted = SERVICE_ACCEPT_STOP;這個也重要,,如果你沒有設(shè)置的話,那么服務(wù)就不會受你控制了,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多