windows下vs如何將一個控制檯程序改成服務(藉助NTService類實現)

首先看一下所需要的文件,文件下載可通過我的資源進行下載。總共有7個文件如下圖:

接下來咱們一起來實際操作一番:

添加文件到你的工程中,如下:

將你自己原來控制檯的函數入口替換成int inter_main(),如下:

在myservice.cpp中修改你的服務名稱,爲你的服務起一個響亮的名字,這裏我用的是TestService

注意:如果你的源代碼使用.cpp寫的,那麼就需要你修改兩處地方,如果你是.c寫的,那麼你可以直接使用:

1.NTServApp.cpp中申明inter_main的時候去掉extern “C”中的C申明,直接用extern int inter_main();即可,如圖:

2.myservice.cpp中申明時候去掉C申明,直接用extern int inter_main();即可,如下圖:

這個時候你就可以直接編譯了。

編譯完後,通過管理員權限啓動cmd,並且進入你生成exe的目錄,利用-i參數執行,成功以後會有installed的提示。安裝服務,如下圖:

這時候,打開計算機服務列表,就能看到你安裝的服務了。

此時可以在右鍵單擊屬性裏面設置爲開機自啓即可。

卸載服務:通過-u參數執行,會提示removed 如下圖:

當然你還可以通過你的控制檯去啓動該程序,只需要在啓動的時候加上參數--console即可

 

到這裏,這個類的使用方法就介紹完了,下面有什麼問題可以留言,我看到了會一一回復的,然後……

能不能點個贊再走,謝謝啦~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章