电脑时间自动校正,aardio论坛里别人发的,托盘提示不错。
// 本程序可通过http协议自动对时 // 本程序发布后,可将其快捷方式加入“启动”菜单实现随机启动。 import win.ui; import win.ui.menu; import inet.ras; /*DSG{{*/ var winform = win.form(text="aardio form";left=0;top=0;right=330;bottom=156;border="dialog frame";max=false;min=false;parent=...;sysmenu=false) winform.add() /*}}*/ import win.util.tray; // 声明设置系统时间api SetSystemTime = ::Kernel32.api("SetSystemTime","int(struct& lpSystemTime)"); var tray = win.util.tray(winform); var str2="通知"; var str1="开始同步时间..."; tray.pop(str1,str2); tray.message = 0xACCF;/*_WM_TRAYMESSAGE*/ tray.tip = str1; //设置鼠标提示 // 同步时间 aardioSetSystemTime=function(){ import inet.http; var timeurl = "http://www.baidu.com/"; var http = inet.http(); var lt;//保存响应头中的时间 http.afterSend = function(statusCode,contentLength){ if(statusCode == 200) { lt=http.readHeader("Date"); } } http.get(timeurl); if(http.statusCode == 200){ //使用UTC时间格式化 var tm=time(lt,"!%a, %d %b %Y %H:%M:%S GMT","enu"); //设置系统时间 SetSystemTime(tm); return true; } else{ return false; } } timeronTimer = function(){ str1="时间同步完成"; if(aardioSetSystemTime()==false){ str1="连接远程服务器失败,请检查网络。"; } tray.pop(str1,str2); tray.message = 0xACCF;/*_WM_TRAYMESSAGE*/ tray.tip = str1; //设置鼠标提示 sleep(5000); tray.delete(); winform.close(); } var i = 1; while(i<6){ var ras,lan = inet.ras.isAlive(); if( lan ){ //检测到本地连接 i=999; timeronTimer(); } else{ //没有联网 str1="网络尚未准备好,等待第"++ i ++"次重试..."; tray.pop(str1,str2); tray.message = 0xACCF;/*_WM_TRAYMESSAGE*/ tray.tip = str1; //设置鼠标提示 sleep(5000); i+=1; } if(i > 5){ i=999; str1="长时间等待发现网络没有准备好,可能网络没有启用,程序即将退出..."; tray.pop(str1,str2); tray.message = 0xACCF;/*_WM_TRAYMESSAGE*/ tray.tip = str1; //设置鼠标提示 sleep(10000); tray.delete(); winform.close(); } } winform.show(false); win.loopMessage();