windows 服務程式設計

2021-06-21 08:27:38 字數 1601 閱讀 4880

#include

#include

//全域性變數

service_status servicestatus;//服務狀態

service_status_handle hstatus;//服務控制

//宣告

void winapi servicehandler(dword fdwcontrol);

void winapi servicemain(dword dwargc, lptstr *lpszargv);

dword winapi mywork(lpvoid lpparam);

void main()

//服務入口函式

void winapi servicemain(dword dwargc, lptstr *lpszargv)

//初始化完成,開始設定服務狀態

servicestatus.dwcurrentstate = service_running;

servicestatus.dwcheckpoint = 0;

servicestatus.dwwaithint = 0;

setservicestatus(hstatus,&servicestatus);//應用設定

handle hthread = createthread(null,0,mywork,null,0,null);//新建執行緒去執行服務,這裡是mywork()函式

if(hthread == null)

}//服務控制函式

void winapi servicehandler(dword fdwcontrol)

case service_control_continue:

case service_control_stop:

case service_control_shutdown:

case service_control_interrogate:

default:

break;

}setservicestatus(hstatus,&servicestatus);

return;

}//實際的服務內容

dword winapi mywork(lpvoid lpparam)

#include

#include

//服務控制函式

void main()

sc_handle hservice = openservice(hscmanager,"aaa",service_all_access);//新建乙個服務

if(getlasterror() == error_service_does_not_exist)//新建服務失敗?

startservice(hservice,null,null);//開始服務

closeservicehandle(hservice);

closeservicehandle(hscmanager);

}

Windows 程式設計之服務 2

除了系統定義的五種控制碼外 還有一種是 service control shutdown 使用者還可自定義控制碼,其取值範圍是128 255。使用者可以通過控制面板中的服務 項向特定服務程式的控制處理函式傳送控制碼,程式設計師可以呼叫系統函式 controlservice 直接向服務程式的控制處理函...

Windows程式設計

1.選單項訊息響應,處理訊息的函式為wndproc windowproc 2.windows 資料型別bool 值為true或false byte 為8位位元組 char 為8位字元 dword 為32位無符號整數,unsigned long word 位16位無符號整數 handle 指向物件的控...

Windows程式設計

遍歷程序需要幾個api,和乙個結構體 1.建立程序快照 2.遍歷首次程序 3.繼續下次遍歷 4.程序資訊結構體 api 分別是 1.建立程序快照 handle winapi createtoolhelp32snapshot 程序快照api dword dwflags,遍歷的標誌,表示你要遍歷什麼 進...