摘自
微軟的專案模板能很好的支援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...