windows服务怎么写( 三 )


while(1) { // 等待停止事件被触发 WaitForSingleObject(ghSvcStopEvent, INFINITE); ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 ); return; } } 3)控制服务处理程序函数(Handler):在服务程序收到控制请求时由控制分发线程引用 。(此处是Service_Ctrl) 。
void WINAPI Service_Ctrl(DWORD dwCtrlCode) { //处理控制请求码 switch(dwCtrlCode) { //先更新服务状态为 SERVICDE_STOP_PENDING,再停止服务 。case SERVICE_CONTROL_STOP: ReportStatusToSCMgr(SERVICE_STOP_PENDING,NO_ERROR,500); ServiceStop(); //由具体的服务程序实现 /*ssStatus.dwCurrentState=SERVICE_STOPPED;*/ //其它控制请求 。
default: break; } } 3. 注意事项 1)安装服务可以另写一个程序 。
3. 如何写一个windows 服务,用webservice调用 创建一个windows服务程序(新建项目->;左侧选windows->;右侧选windows服务),然后把生成的文件引入到windows服务的程序中
5、写调用事件(BeginImportUFData)
6、完成后编译生成一下,这时就会在此windows服务程序的bin文件夹下生成一个exe文件(如:MyNewService.exe

7、按以下方式安装
安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 绝对路径\MyNewService.exe
卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 绝对路径\MyNewService.exe
例如:(用dos命令窗口执行)
安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【然后显示:正在安装程序集,最后显示:“提交”阶段成功完成】
卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【最后提示:卸载完成】
启动、停止服务是window操作,找到管理-->;服务 操作
4. windows服务 1、Alerter Alerter(警示器)服务的进程名是Service.exe(即启动这个服务后在后台运行的进程名 称,可以通过任务管理器看到,下同) 。
Alerter服务的功能是,WinXP将系统上发生的与 管理有关的事件以警示(Alert)信息传送至网络上指定的电脑或用户,例如当发生打印错 误或硬盘即将写满等事件,这类警示信息由WinXP的警示器服务(Alerter Service)收集 、送出 。尽管Alerter依存的服务并没有Messenger(信使)服务,但Alerter服务必须依靠 后者才能送出信息,故在启动Alerter服务后还必须确定Messenger服务也在工作状态,而 接收的电脑也必须启动Messenger服务 。
由于Alerter服务运行后,服务是用户可以发送“ 弹出(Pop-up)”信息给其他用户,这些信息有可能被攻击者用来实施攻击,如诱骗用户 修改口令等,从而造成安全隐患 。同时该服务使得用户账号泄漏,也有可能被攻击者利用 来进行口令猜测攻击 。
所以对于家庭单机用户,甚至对于绝大多数小型的局域网来说,这 个功能是完全可禁用的,不仅节省了系统资源和加快启动速度,也提高了机器的安全性 。2、Application Layer Gateway Service 简称“ALG”(应用层网关)的进程名是alg.exe,WinXP Home/Pro默认安装的启动类型为 手动 。
ALG又被称为代理服务器(Proxy Server),是网络防火墙从功能层面上分类的一种。当内部计算机与外部主机连接时,将由代理服务器担任内部计算机与外部主机的连接中 继者 。
使用ALG的好处是隐藏内部主机的地址和防止外部不正常的连接,如果代理服务器上 未安装针对该应用程序设计的代理程序时,任何属于这个网络服务的封包将无法通过防火 墙 。通俗点说,具体到ALG本身,它就是附带的Internet连接共享/防火墙的具体控管程序 ,如果你需要启动这二者,这个服务是必备的 。