电脑时间自动校正,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();