广州明生堂生物科技有限公司


用VBS修改(设置)系统时间和日期的代码

网络编程 用VBS修改(设置)系统时间和日期的代码 06-22
那天跟别人聊到 Y2K38 问题,于是想到一个恶作剧:用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢?


最简单也是最没有技术含量的方法就是调用 cmd 的 date 和 time 命令:

'Author: Demon
'Website: http://demon.tw
'Date : 2011/4/27
Dim WshShell
Set WshShell = CreateObject("wscript.Shell")
WshShell.Run "cmd.exe /c date 2038-01-19", 0
WshShell.Run "cmd.exe /c time 3:14:08", 0

比较有技术含量的方法是用 WMI 的 Win32_OperatingSystem 类的 SetDateTime 方法:

'Author: Demon
'Website: http://demon.tw
'Date : 2011/4/27
dtmNewDateTime = "20380119031408.000000+480" 'UTC时间
strComputer = "."
Set objWMIService = GetObject("winmgmts:{(Systemtime)}\" & strComputer & "rootcimv2")
Set colOSes = objWMIService.ExecQuery("Select * From Win32_OperatingSystem")
For Each objOS In colOSes
objOS.SetDateTime dtmNewDateTime
Next

Windows 7 在开启 UAC 的情况下需要管理员权限才能修改时间,一点也不好玩。

参考链接:Hey, Scripting Guy! How Can I Set the Date and Time on a Computer?

来自: http://demon.tw/programming/vbs-modify-system-time.html

VBS For Next循环的一些细节
ForNext语句的基本结构为:Forcounter=startToend[Stepstep][statements][ExitFor][statements]Next当ForNext循环开始时,VisualBasicScriptingEdition(VBScript)将start赋值给counter。在

VBS For Next循环的陷阱分享
昨天写《QWERTY密码:加密与解密》的时候,为了得到26个字母的字符串,写了这样一个ForNext循环:'Author:Demon'Website:http://demon.tw'Date:2012/2/10Fori=65To(i+25)s=s&

QWERTY密码:加密与解密vbs版
昨天在做Arthur'sOnlineRiddle的时候有这么一道题目:IfQWERTY=ABCDEFthen,OLSQFR=?Qwerty是各国使用的基于拉丁字母的标准的打字机和计算机键盘。QWERTY是键盘第一


编辑:广州明生堂生物科技有限公司

标签:时间,方法,含量,键盘,昨天