[英]windows service in c++
我想制作一個將定期運行的c ++應用程序。 很像Windows服務。 是否可以在C ++中創建Windows服務。 如果是,怎么辦?
任何教程嗎?
編輯:如何為Windows服務創建安裝程序?
C ++與C足夠兼容,因此傳統方法可以工作。 您將應用程序構建為普通的C ++程序(從main
開頭); 在啟動過程中,您調用StartServiceCtrlDispatcher
來通知OS您的程序可以作為服務運行。 Windows不在乎您在內部使用類。
如另一個答案所示,您需要創建一個普通的C ++程序(以main
開頭),並調用StartServiceCtrlDispatcher
Win32 API來告知Windows您希望將該程序作為服務運行。 在MSDN中可以找到有關此功能的一些信息。
此外,您將需要一種機制來安裝服務,以使其顯示在Windows服務控制面板中。 當然,還應該提供卸載功能。 通常,所有三個功能(即安裝,卸載和運行)都在單個可執行文件中處理。 這三個方面的差異通過命令行參數指示。
您尚未指出要使用的VC ++版本。 如果使用托管的.NET代碼,則很容易,因為Windows Service模板已預先內置到Visual Studio中。
但是,如果要使用VC ++ 6(或100%非托管代碼),則需要了解許多底層細節。 其他選擇取決於您對ATL或MFC的了解(如果要使用較舊版本的編譯器/運行時)。
這可能是有關使用C ++創建Windows服務的很好的教程。
查看POCO C ++庫,該庫使您可以輕松編寫守護程序/服務。
也許我來晚了,但是我為Windows服務創建C ++類,並且想要共享代碼,您需要從我的基類cWinService中繼承您的類http://sprogram.com.ua/en/articles/how-write-service-for- Windows與CPP
如果有任何發現,請與我聯系。 我不是C ++向導,我只是研究;)
當然可以。 不僅可能,而且這就是本機API設計的目的(確實,C,但足夠接近)。
請參閱Jeff Richter的書“為Windows 2000編程服務器端應用程序”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.