一個(gè)簡單的服務(wù)管理程序,用于創(chuàng)建/修改/刪除Win32服務(wù)(未涉及內(nèi)核服務(wù),如tcpip,afd等)。
除此之外可以作為服務(wù)的宿主,命令行為:
"ServiceHost.exe" service "somedll.dll" "arg1" "arg2" ......
somedll.dll需要導(dǎo)出Start,Stop,Continue,Pause,Shutdown(可選,用于處理系統(tǒng)關(guān)閉事件),RequestStop(可選,用于服務(wù)主動要求停止)
函數(shù)原型:
DWORD WINAPI Start(int argc, TCHAR * const *argv); // 參數(shù)argv[n]即為arg1,arg2,...,返回0表明成功,其它值表明失敗
DWORD WINAPI Stop();
DWORD WINAPI Shutdown();
DWORD WINAPI Pause(); // 返回0表明成功,其它值表明失敗
DWORD WINAPI Continue(); // 返回0表明成功,其它值表明失敗
DWORD WINAPI RequestStop(DWORD (CALLBACK*)(DWORD dwErrorCode)); // 參數(shù)是一個(gè)函數(shù)指針。服務(wù)在啟動時(shí),DLL中的RequestStop(如果存在的話)將被調(diào)用,DLL可保存此函數(shù)指針。服務(wù)成功啟動后,在任何需要的時(shí)候,DLL都可以通過調(diào)用此函數(shù)指針來主動要求停止服務(wù)(參數(shù)dwErrorCode為錯(cuò)誤代碼,dwErrorCode為0表明無錯(cuò)誤)
可執(zhí)行文件 源代碼
摘要: 在GUI程序中使用cout/cin/printf
閱讀全文