单位有两台服务器,一台的bios中有定时启动的功能,而另外一台没有.所以每天早上到单位后第一件事情就是要去按一下这台服务器的电源开关来开机,不甚其烦!今天编写了一个定时网络唤醒的服务(service)程序,安装在第一台服务器上,这样当第一台服务器启动后,如果到了时间,就会自动通过网络发送wakeonline(wol)的广播包来唤醒另外一台服务器.
启动delphi,file-new-other-server application,然后定义该service的属性,如图: 【程序编程相关:取得Windows版本号 】
步骤: 【推荐阅读:直接用WinSockAPI发E-mail】
保存文件名称为wakeonlinesrv.pas,该单元的代码如下: 【扩展信息:clientdataset不能在线程中使】
unit wakeonlinesrv;
interface
uses
windows, messages, sysutils, classes, graphics, controls, svcmgr, dialogs, wakeonlineexecutethread;type
twakeonlineserver = class(tservice) procedure servicestart(sender: tservice; var started: boolean); procedure servicestop(sender: tservice; var stopped: boolean); procedure servicepause(sender: tservice; var paused: boolean); procedure servicecontinue(sender: tservice; var continued: boolean); private { private declarations } thdwakeonline:twakeonline; public function getservicecontroller: tservicecontroller; override; { public declarations } end;var
wakeonlineserver: twakeonlineserver;implementation
{$r *.dfm}
procedure servicecontroller(ctrlcode: dword); stdcall;
begin ... 下一页