91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

本文共涉及3個(gè)工程:beep、install、uninstall。 1) beep工程用于新服務(wù)的實(shí)現(xiàn),工程中包含beep.cpp。編譯并生成beep.exe,將其拷貝至c:\目錄下,供安裝程序調(diào)用。當(dāng)安裝完畢后,SCM也將調(diào)用beep.exe來執(zhí)行該服務(wù)。 2) install工程用于新服務(wù)的安裝,工程中包含install.cpp。編譯并生成install.exe,將其拷貝至:c:\目錄中,然后在Windows NT中單擊“開始”,再單擊“運(yùn)行”,使用“運(yùn)行”命令執(zhí)行帶3個(gè)參數(shù)的installl.exe程序。輸入以下命令行進(jìn)行安裝:c:\install.exe BeepService "Beeper" c:\Beep.exe 。其中BeepService是供SCM內(nèi)部使用的服務(wù)名,Beeper是顯示在控制面板的服務(wù)程序中的名稱,"c:\Beep.exe"是服務(wù)所在的可執(zhí)行文件的路徑。安裝完畢后,你可以在控制面板的服務(wù)程序中看到新增的服務(wù)Beeper,點(diǎn)擊右鍵選擇“屬性”,你就可以設(shè)置服務(wù)的啟動(dòng)類型、服務(wù)的狀態(tài)和啟動(dòng)參數(shù)。 3) uninstall工程用于新服務(wù)的卸載,工程中包含uninstall.cpp。編譯并生成uninstall.exe,將其拷貝至:c:\目錄中,然后在Windows NT中單擊“開始”,再單擊“運(yùn)行”,使用“運(yùn)行”命令執(zhí)行帶1個(gè)參數(shù)的uninstall.exe程序。輸入以下命令行進(jìn)行卸載:c:\uninstall.exe BeepService。其中BeepService就是在安裝服務(wù)是生成的供SCM內(nèi)部使用的服務(wù)名。

資源截圖

代碼片段和文件信息

#include??
#include??
#include??
#include??
//#include?“yewu.cpp“
//Download?by?http://www.codefans.net
#define?DEFAULT_BEEP_DELAY?3000?? //?定義蜂鳴的間隔時(shí)間值
char?*SERVICE_NAME?=?“BeepService“; //?定義服務(wù)的名稱
HANDLE?terminateEvent?=?NULL; //?定義用于控制ServiceMain執(zhí)行的事件句柄
SERVICE_STATUS_HANDLE?serviceStatusHandle; //?定義與SCM通訊的服務(wù)狀態(tài)句柄
int?beepDelay?=?DEFAULT_BEEP_DELAY; //?定義蜂鳴的間隔時(shí)間
BOOL?pauseService?=?FALSE; //?定義服務(wù)暫停的標(biāo)志
BOOL?runningService?=?FALSE; //?定義服務(wù)運(yùn)行的標(biāo)志
HANDLE?threadHandle?=?0; //?定義實(shí)現(xiàn)服務(wù)功能的線程句柄

char?lpszMac[128];


VOID?SendStatusToSCM?(DWORD?dwCurrentStateDWORD?dwWin32ExitCode?
??DWORD?dwServiceSpecificExitCodeDWORD?dwCheckPointDWORD?dwWaitHint)
{
SERVICE_STATUS?serviceStatus;
? serviceStatus.dwServiceType?=?SERVICE_WIN32_OWN_PROCESS;? //設(shè)置服務(wù)運(yùn)行在其自身的進(jìn)程中
serviceStatus.dwCurrentState?=?dwCurrentState; //設(shè)置服務(wù)的當(dāng)前狀態(tài)
? //?如果服務(wù)正在啟動(dòng),則不接收和處理控制通知事件,否則接收所有的控制通知事件
if?(dwCurrentState?==?SERVICE_START_PENDING)?
serviceStatus.dwControlsAccepted?=?0;
else?
serviceStatus.dwControlsAccepted?=?SERVICE_ACCEPT_STOP|SERVICE_ACCEPT_PAUSE_CONTINUE?|SERVICE_ACCEPT_SHUTDOWN;
? /*?如果服務(wù)具有特定的出錯(cuò)代碼,則設(shè)置serviceStatus?的dwWin32ExitCode屬性為
ERROR_SERVICE_SPECIFIC_ERROR,并設(shè)置serviceStatus的dwServiceSpecificExitCode屬性
為特定出錯(cuò)代碼,以顯示特定的錯(cuò)誤信息*/
if?(dwServiceSpecificExitCode?==?0)
{
serviceStatus.dwWin32ExitCode?=?dwWin32ExitCode;
serviceStatus.dwServiceSpecificExitCode?=0;
}
else
{
serviceStatus.dwWin32ExitCode?=?ERROR_SERVICE_SPECIFIC_ERROR;
serviceStatus.dwServiceSpecificExitCode?=dwServiceSpecificExitCode;?//設(shè)置服務(wù)的特定出錯(cuò)代碼
}
? serviceStatus.dwCheckPoint?=?dwCheckPoint; //設(shè)置服務(wù)在啟動(dòng)、關(guān)閉和運(yùn)行操作中反映操作進(jìn)度的值
serviceStatus.dwWaitHint?=?dwWaitHint; //設(shè)置服務(wù)在執(zhí)行啟動(dòng)、關(guān)閉和運(yùn)行操作時(shí)將持續(xù)的時(shí)間值
? SetServiceStatus?(serviceStatusHandle?&serviceStatus); //更新SCM中服務(wù)的狀態(tài)信息
}


DWORD?ServiceThread(LPDWORD?param)
{ //使用Sleep函數(shù)將while控制流程掛起,然后在指定的毫秒數(shù)后自動(dòng)喚醒
while?(1)
{
//GetMacByCmd(lpszMac);
Beep(200200);???//進(jìn)行蜂鳴
Sleep(beepDelay);?//將該線程掛起beepDelay中指定的毫秒數(shù)
}
return?0;
}


VOID?Handler?(DWORD?controlCode)?
{
switch(controlCode)
{ //?處理停止服務(wù)事件
case?SERVICE_CONTROL_STOP:
//通知SCM服務(wù)即將停止
SendStatusToSCM(SERVICE_STOP_PENDINGNO_ERROR?0?1?5000);
runningService=FALSE; ??//設(shè)置服務(wù)運(yùn)行的標(biāo)志
SetEvent(terminateEvent);?//設(shè)置終止事件句柄為活動(dòng)狀態(tài),從而使ServiceMain函數(shù)得以繼續(xù)執(zhí)行
return;
? //?處理暫停服務(wù)事件
case?SERVICE_CONTROL_PAUSE:
if?(runningService?&&?!pauseService)
{
//?通知SCM服務(wù)即將暫停
SendStatusToSCM( SERVICE_PAUSE_PENDINGNO_ERROR?0?1?1000);
pauseService?=?TRUE; //設(shè)置服務(wù)暫停的標(biāo)志
SuspendThread(threadHandle);?? ?? //掛起新服務(wù)的線程
SendStatusToSCM(SERVICE_PAUSED?NO_ERROR?0?0?0); ??? //通知SCM服務(wù)暫停
}
break;
? //?處理繼續(xù)服務(wù)事件
case?SERVICE_CONTROL_CONTINUE:
if?(runningService?&&?pauseService)
{
//?通知SCM服務(wù)即將繼續(xù)
SendStatusToSCM( SERVICE_CONTINUE_PENDINGNO_ERROR?0?1?1000);
pauseService=FALSE;

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-31?08:17??Service\
?????目錄???????????0??2012-12-31?08:17??Service\beep\
?????目錄???????????0??2012-12-31?08:17??Service\beep\Debug\
?????文件??????155737??2012-11-14?08:17??Service\beep\Debug\beep.exe
?????文件??????177124??2012-11-14?08:17??Service\beep\Debug\beep.ilk
?????文件???????17559??2012-11-14?08:17??Service\beep\Debug\beep.obj
?????文件?????3627624??2012-11-13?07:49??Service\beep\Debug\beep.pch
?????文件??????566272??2012-11-13?07:49??Service\beep\Debug\beep.pdb
?????文件??????369664??2012-11-14?08:17??Service\beep\Debug\vc60.idb
?????文件??????274432??2012-11-13?07:49??Service\beep\Debug\vc60.pdb
?????文件????????5831??2012-11-13?07:49??Service\beep\beep.cpp
?????文件????????4260??2000-11-07?11:14??Service\beep\beep.dsp
?????文件?????????531??2000-11-07?11:07??Service\beep\beep.dsw
?????文件???????50176??2012-11-14?08:17??Service\beep\beep.ncb
?????文件???????48640??2012-11-14?08:17??Service\beep\beep.opt
?????文件?????????734??2012-11-14?08:17??Service\beep\beep.plg
?????文件????????6533??2012-11-12?09:51??Service\beep\yewu.cpp
?????目錄???????????0??2012-12-31?08:17??Service\install\
?????目錄???????????0??2012-12-31?08:17??Service\install\Debug\
?????文件??????151647??2012-11-14?08:18??Service\install\Debug\install.exe
?????文件??????162896??2012-11-14?08:18??Service\install\Debug\install.ilk
?????文件???????11762??2012-11-14?08:18??Service\install\Debug\install.obj
?????文件?????3611192??2012-11-11?17:00??Service\install\Debug\install.pch
?????文件??????402432??2012-11-13?07:50??Service\install\Debug\install.pdb
?????文件??????148480??2012-11-14?08:18??Service\install\Debug\vc60.idb
?????文件???????86016??2012-11-12?11:42??Service\install\Debug\vc60.pdb
?????文件????????1067??2012-11-12?11:41??Service\install\install.cpp
?????文件????????4296??2000-11-07?11:15??Service\install\install.dsp
?????文件?????????537??2000-11-07?11:14??Service\install\install.dsw
?????文件???????41984??2012-11-14?08:19??Service\install\install.ncb
?????文件???????48640??2012-11-14?08:19??Service\install\install.opt
............此處省略17個(gè)文件信息

評論

共有 條評論