c 開發windows服務

2021-07-24 05:39:27 字數 2173 閱讀 6576

摘自 

微軟的專案模板能很好的支援windows服務開發,如c#的windows服務專案

c++開發的話,也不難,使用一些api就能實現,下附**

[cpp]view plain

copy

#include "stdafx.h"

#include "windows.h"

#define service_name "srv_demo"

service_status servicestatus;  

service_status_handle

hservicestatushandle;  

void

winapi service_main(

intargc, 

char

** argv);   

void

winapi servicehandler(

dword

fdwcontrol);  

tchar

szsvcname[80];  

sc_handle

schscmanager;  

sc_handle

schservice;  

intuaquit;  

file

* log;  

dword

winapi srv_core_thread(

lpvoid

para)  

fprintf(log,"srv_core_thread run time count:%d\n"

,i++);  

sleep(5000);   

}      

return

null;   

}     

void

winapi servicehandler(

dword

fdwcontrol)  

;  if

(!setservicestatus(hservicestatushandle,  &servicestatus))   

}  void

winapi service_main(

intargc, 

char

** argv)   

//add your init code here

log = fopen("c:\\test.txt"

,"w"

);  

//add your service thread here

handle

task_handle = createthread(null,null,srv_core_thread,null,null,null);  

if(task_handle == null)  

// initialization complete - report running status 

servicestatus.dwcurrentstate       = service_running;   

servicestatus.dwcheckpoint         = 0;   

servicestatus.dwwaithint           = 9000;    

if(!setservicestatus(hservicestatushandle, &servicestatus))   

}   

//do not change main function

intmain (

intargc, 

const

char

*argv)    

以上是乙個別人寫的簡單服務,需要注意的是,win32控制台的應用程式,作為服務不能直接開啟,因此也不能除錯。

開啟服務步驟如下:

1.編譯程式;

2.成功後找到win32srvdemo.exe(注意:不是直接執行此程式),在debug或release目錄中,

複製下路徑,如..win32srvdemo\debug\win32srvdemo.exe;

3.開始->執行->cmd->回車 輸入sc create test binpath= 上面的路徑

4.開始->執行->services.msc->回車 找到test並啟動->ok了

5.成功後應該可以看到c:\test.txt檔案

C 開發windows服務

windows下無法像linux那樣直接執行nohup等命令執行後台程式,只能呼叫相應api做成服務。服務可以在沒有任何使用者登入計算機的情況下執行。c 建立windows 服務比較方便,直接派生 system.serviceprocess.servicebase,但是只支援windows xp。1...

c 開發windows服務

1.首先新增乙個windows服務程式 2.在 protected override void onstart string args 中加入我們的業務邏輯 3.在我們的gateservice中的設計頁面,新增安裝程式 4.配置安裝程式serviceprocessinstaller1和service...

windows服務開發

學然後知不足 教然後知困。沒做過windows service開發時,感覺很難,無從下手。再網看了些例子,加上自己的理解,寫下開發步驟。新建windows service 新增服務,發表後將再自己的電腦的 服務管理 檢視到 新增服務安裝程式 這是vs給提供的方便操作 可以發表多個服務。右擊,點選ad...