如何用代码控制系统还原呢?

解决方案 »

  1.   

    给出你VBS脚本代码,改改就可以了.....
    Windows Management Instrumentation (WMI) 创建、枚举和还原以前创建的还原点。 要求
    若要运行 WMI,必须具有管理员权限。可通过 WMI 和 Srclient.dll 文件使用系统还原。 下面的 VBScript 代码摘录是最小的示例。请务必先对该代码进行错误检查和完整的测试,然后再实施。 
    创建系统还原点
    'use WMI moniker and SystemRestore class
    set SRP = getobject("winmgmts:\\.\root\default:Systemrestore")
    CSRP = SRP.createrestorepoint ("this is a test", 0, 100)
    为特定驱动器禁用或启用系统还原
    onoff = inputbox ("Do you want enable or disable System Restore?", "System Restore")
    Drive = inputbox ("Which Drive would you like to take action on? Must type in format 'c:\'", "Drive to enable/disable")
    set SRP = GetObject("winmgmts:\\.\root\default:SystemRestore")If onoff = "enable"  then
    eSRP = SRP.enable(drive)
    end ifIf onoff = "disable" then
    eSRP = SRP.disable(drive)
    end if

    枚举计算机上的系统还原点set SRP = getobject("winmgmts:\\.\root\default").InstancesOf ("systemrestore")
    for each Point in SRP
    msgbox point.creationtime & vbcrlf & point.description & vbcrlf & "Sequence Number= " & point.sequencenumber
    next

    日期按照 yyyymmddHHMMSS.mmmmmmsUUU 格式返回,其中: 
    yyyy = 四位数年份
    mm = 两位数月份
    dd = 月中的某一天(两位数)
    HH= 一天中的某个小时(两位数,00-23)
    SS = 秒 (00-59)
    mmmmmm = 毫秒
    s = 加号 (+) 或减号 (-),表示相对协调通用时间 (UTC) 的正或负偏移量
    UUU = 起始时区从 UTC 偏离的偏移量(用分钟表示) 
    注意:不能根据特定日期筛选项目。筛选过程始于第一个还原点并从该位置进行枚举。如果要筛选项目,需要编写筛选器的脚本以减少基于返回值的日期。回滚到特定的还原点
    注意:如果未调用计算机关闭,则不要使用该函数。如果计算机未立即重新启动,则系统还原可能无法正确运行。 set SRP = getobject("winmgmts:\\.\root\Default:SystemRestore")
     eSRP = SRP.Restore(22) 'parameter passed is the sequence number of the restore point you want to roll back to.
      

  2.   

    呵呵....你把每一段都复制保存为VBS看看...然后可以用调用VBS的方式使用,不过最好是转成VB代码,给你转一段..你看看就明白了
    '添加还原点
    Private Sub AddPoint()
    Const DEVICE_DRIVER_INSTALL = 10
    Const BEGIN_SYSTEM_CHANGE = 100
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\default")
    Set objItem = objWMIService.Get("SystemRestore")
    errResults = objItem.CreateRestorePoint("Scripted restore", DEVICE_DRIVER_INSTALL, BEGIN_SYSTEM_CHANGE)
    Print errResultsEnd SubPrivate Sub Form_Load()
    AddPoint
    End Sub
      

  3.   

    Win2000里调试不了,有什么办法吗?