那天跟别人聊到 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 & "
ootcimv2")
Set colOSes = objWMIService.ExecQuery("Select * From Win32_OperatingSystem")
For Each objOS In colOSes
objOS.SetDateTime dtmNewDateTime
NextWindows 7 在开启 UAC 的情况下需要管理员权限才能修改时间,一点也不好玩。
更多用VBS修改(设置)系统时间和日期的代码相关文章请关注PHP中文网!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号