管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>电脑常识

vbs开机自动启动同步系统时间

  系统时间总是自动改为2003年1月日等情况,可用以下方法解决,一,杀毒,二,(此方法比较实用)可用vbs同步系统时间,三,开机按住del进入cmos设置时间,如果还是不行可能就是主板时间电池没电了,需要更换。一下是vbs代码法,将一下代码复制到文本文档里,然后扩展名由txt改为vbs,即可解决。

  ===========================(复制以下代码)======================================

  set fso=CreateObject("Scripting.FileSystemObject")

  set ws=CreateObject("wscript.shell")

  set f=fso.getfile(wscript.scriptfullname)

  ws.regwrite "HKCUSoftwareMicrosoftWindowsCurrentVersionRun"&f.name,f.path

  'Created By escortmnm from VBS团队  这些代码为开机自动启动 下面代码为自动同步时间

  strComputer="."

  Set objSWbemDateTime=CreateObject("WbemScripting.SWbemDateTime")

  Set objWMIService=GetObject("winmgmts:{(Systemtime)}" & strComputer & "rootcimv2")

  oldtime = Now()

  '设置新的日期和时间(可用 10:38:00 PM 上下午格式)

  '"2009-8-5 08:35:49"

  strNewDateTime=GetServerTime()

  objSWbemDateTime.SetVarDate strNewDateTime,True

  dtmNewDateTime=objSWbemDateTime.Value

  Set colOSes=objWMIService.ExecQuery("Select * From Win32_OperatingSystem")

  For Each objOS In colOSes

  objOS.SetDateTime dtmNewDateTime

  Next

  newtime = Now()

  Wscript.Echo oldtime & " >>> " & newtime

  Function GetServerTime()

  Url = "http://www.time.ac.cn/stime.asp"

  innerHTML = BytesToStr(GetHttpPage(Url),"GB2312")

  Dim regEx, mh, mhs        '建立变量

  Set regEx = New RegExp    '建立正则表达式

  regEx.IgnoreCase = False '设置是否区分字符大小写

  regEx.Global = True         '设置全局可用性

  p1 = "<script language=[sS]+?document.write('([0-9]{4})[sS]+?([0-9]{1,2})[sS]+?([0-9]{1,2})[sS]+?')[sS]+?var hrs = ([0-9]{2})[sS]+?var min = ([0-9]{2})[sS]+?var sec = ([0-9]{2})"

  regEx.Pattern = p1

[Ok3w_NextPage]

  Set mhs = regEx.Execute(innerHTML)    '执行搜索

  GetServerTime = Now()

  If mhs.Count>0 Then

  net_year = CStr(mhs.Item(0).SubMatches(0))

  net_month = CStr(mhs.Item(0).SubMatches(1))

  net_date = CStr(mhs.Item(0).SubMatches(2))

  net_hour = CStr(mhs.Item(0).SubMatches(3))

  net_minute = CStr(mhs.Item(0).SubMatches(4))

  net_second = CStr(mhs.Item(0).SubMatches(5))

  GetServerTime = net_year & "-" & net_month & "-" & net_date & " " & net_hour & ":" & net_minute & ":" & net_second

  End If

  End Function

  Function GetHttpPage(URL)

  On Error Resume Next

  Set objXmlHttp = CreateObject("Microsoft.XMLHTTP")

  objXmlHttp.Open "GET",URL,False

  objXmlHttp.Send()

  If objXmlHttp.readyState <> 4 Then

  Exit Function

  End If

  GetHttpPage = objXmlHttp.ResponseBody

  If Err.Number <> 0 Then

  Set objXmlHttp=Nothing

  'GetHttpPage = "$False$"

  Exit Function

  End If

  Set objXmlHttp = Nothing

  End Function

  Function BytesToStr(Str,Chrset)

  Dim objStream

  Set objStream = CreateObject(Replace("ADODB-qw-Stream","-qw-","."))

  objStream.Mode = 3

  objStream.Type = 1

  objStream.Open

  objStream.Write Str

  objStream.Position = 0

  objStream.Type = 2

  objStream.Charset = Chrset

  BytesToStr = objStream.Readtext

  objStream.Close()

  Set objStream = Nothing

  End Function

  ======================================(虚线不要复制)=======================================

tech首页 更多tech