无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4965|回复: 3
打印 上一主题 下一主题

请高人帮忙修改一个改系统时间的VBS代码

  [复制链接]
跳转到指定楼层
1#
发表于 2008-10-14 12:54:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个使用天数限制的软件,下面的代码可以将系统时间改到软件可以使用的日期,但回不到运行这个VBS代码之前的时间。比如今天是2008年10月14日运行了这个VBS代码,系统时间就变成了2007年4月1日。请问怎样修改才能计变回运行这个批处理之前的时间?
    Dim WshSHell
    Set WshSHell = WScript.CreateObject("WScript.Shell")
    CMD="%COMSPEC% /C "
    WshSHell.Run(CMD&"DATE 2007.4.1")
    WScript.Sleep 1000
    'WshSHell.Run("有限制的程序")
    WScript.Sleep 10000
    WshSHell.Run(CMD&"Dim MyTime")
推荐
发表于 2012-11-11 22:05:06 | 只看该作者
Dim WshSHell,CMD
CMD="%COMSPEC% /C "
Set WshSHell=WScript.CreateObject("WScript.Shell")
WshSHell.Run(CMD & "echo %date%>%temp%\now.txt"),0,true        '先保存当前系统时间至文本文档
WshSHell.Run(CMD & "date 2007.4.1"),0,true                        '修改系统时间
'Wscript.Echo(date)                                        '调试时用的
WshSHell.Run("有限制的程序")
WScript.Sleep 2000                                        '延时足够时间,保证程序完全启动
WshSHell.Run(CMD & "date <%temp%\now.txt"),0,true                '恢复系统时间
'Wscript.Echo(date)                                        '调试时用的
WshSHell.Run(CMD & "del /q /f %temp%\now.txt"),0,true        '删除临时文件
'不知道你按 Alt+C是干啥用的,上面有注释,你自己看着在合适位置添吧

'另一版本
Dim WshSHell,CMD,Now,MyTime
CMD="%COMSPEC% /C date "
Now=date                        '记住当前系统时间(在此假设运行该VBS之前你的系统时间是正确的)
MyTime="2007.4.1"                '注意你的系统时间格式
Set WshSHell=WScript.CreateObject("WScript.Shell")
'Wscript.Echo(date)                        '调试时用的
WshSHell.Run(CMD & MyTime),0,true        '修改系统时间为你的软件可以运行的时间
'Wscript.Echo(date)                        '调试时用的
WshSHell.Run( "有限制的程序" )
WScript.Sleep 3000                        '延时足够时间,保证程序完全启动
WshSHell.Run(CMD & Now),0,true                '恢复系统时间
'Wscript.Echo(date)                        '调试时用的
'按Alt+C的功能也还是你自己看着在合适位置添加.
回复

使用道具 举报

推荐
 楼主| 发表于 2008-10-14 14:39:32 | 只看该作者
改成"DATE 2008.10.14"的话,如果我在8月15日运行,系统时间又是2008年10月14日。我的意思是每次运行完这个VBS后系统日期都自动改回运行前的机器日期。别叫我每次都改VBS源码,那样的话还没手工修改方便。也别用BAT批处理,因为我还想加个Alt+C的键盘动作。之前的源码应加多两行
    Dim WshSHell
    Set WshSHell = WScript.CreateObject("WScript.Shell")
    CMD="%COMSPEC% /C "
    WshSHell.Run(CMD&"DATE 2007.4.1")
    WScript.Sleep 1000
    'WshSHell.Run("有限制的程序")
    WScript.Sleep 5000
    WshShell.SendKeys "%c"
    WScript.Sleep 10000
    WshSHell.Run(CMD&"Dim MyTime")
回复

使用道具 举报

推荐
发表于 2008-10-14 13:25:11 | 只看该作者
林子真大,你能将它改成"DATE 2007.4.1",就不能改回"DATE 2008.10.14"?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 06:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表