Jump to content

vbs to autoit (restore point)


ricky
 Share

Recommended Posts

Hello,

I want to create a restore point on windows seven or XP. I only found a vbs script, who can tranlate it to me in autoit?

Code found here : http://www.winhelponline.com/blog/wp-content/uploads/createsrp.vbs

'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

'Script to create a System Restore point in Windows 7 | Vista | XP

'May 10 2008 - Revised on Jan 10, 2009

'© 2008 Ramesh Srinivasan. http://www.winhelponline.com

'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

If GetOS = "Windows XP" Then

CreateSRP

End If

If GetOS = "Windows Vista" Or GetOS = "Windows 7" Then

If WScript.Arguments.length =0 Then

Set objShell = CreateObject("Shell.Application")

objShell.ShellExecute "wscript.exe", """" & _

WScript.ScriptFullName & """" & " uac","", "runas", 1

Else

CreateSRP

End If

End If

Sub CreateSRP

Set SRP = getobject("winmgmts:\\.\root\default:Systemrestore")

sDesc = "Manual Restore Point"

sDesc = InputBox ("Enter a description.", "System Restore script : winhelponline.com","Manual Restore Point")

If Trim(sDesc) <> "" Then

sOut = SRP.createrestorepoint (sDesc, 0, 100)

If sOut <> 0 Then

WScript.echo "Error " & sOut & _

": Unable to create Restore Point."

End If

End If

End Sub

Thanks in advance for your help

Link to comment
Share on other sites

  • Moderators

ricky03,

who can tranlate it to me in autoit?

And what have you tried so far that has not worked? ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

I have a lot of problems to understand the objects config and calls!

I don't try to translate alone this code, because with other differents codes I try to translate the same kind of objects and in 100% of times I spent some hours and at the end it crash!

Thanks for your help!

Link to comment
Share on other sites

Why do you want to translate a code to AutoIt you don't understand? You have a VBS script that should run fine.

What you try to translate is so sensible I wouldn't do it without exactly knowing what I do.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

I want to integrate this script in a final cleaning tool created with autoit!

When the system is clean, create a restore point automaticly! I don't want to exctract a vbs from an autoit script. And sometimes, the vbs script is recognised as virus or malware...

Link to comment
Share on other sites

Something like this? I don't know what you want to do with the WScript part.

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Script to create a System Restore point in Windows 7 | Vista | XP
; May 10 2008 - Revised on Jan 10, 2009
; © 2008 Ramesh Srinivasan. http://www.winhelponline.com
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If @OSVersion = "Win_XP" Then
    CreateSRP()
EndIf

If @OSVersion = "WIN_VISTA" Or @OSVersion = "WIN_7" Then
    If $CmdLine[0] = 0 Then
        $objShell = ObjCreate("Shell.Application")
        ; $objShell.ShellExecute "wscript.exe", """" & _
        ; WScript.ScriptFullName & """" & " uac","", "runas", 1
    Else
        CreateSRP()
    EndIf
EndIf

Func CreateSRP()
    $SRP = ObjGet("winmgmts:.rootdefault:Systemrestore")
    $sDesc = "Manual Restore Point"
    $ssDesc = InputBox("Enter a description.", "System Restore script : winhelponline.com", "Manual Restore Point")
    If StringStripWS($sDesc, 3) <> "" Then
        $sOut = $RP.createrestorepoint($sDesc, 0, 100)
        If $sOut <> 0 Then
            MsgBox(16, "Error", "Error " & $sOut & ": Unable to create Restore Point.")
        EndIf
    EndIf
EndFunc   ;==>CreateSRP

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Thanks a lot.

The wscript is to run with admin rights! It's possible to create the same line in autoit?

Edit : I just modify 2 mistakes...

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Script to create a System Restore point in Windows 7 | Vista | XP
; May 10 2008 - Revised on Jan 10, 2009
; © 2008 Ramesh Srinivasan. http://www.winhelponline.com
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If @OSVersion = "Win_XP" Then
    CreateSRP()
EndIf

If @OSVersion = "WIN_VISTA" Or @OSVersion = "WIN_7" Then
    If $CmdLine[0] = 0 Then
        $objShell = ObjCreate("Shell.Application")
        ; $objShell.ShellExecute "wscript.exe", """" & _
        ; WScript.ScriptFullName & """" & " uac","", "runas", 1
    Else
        CreateSRP()
    EndIf
EndIf

Func CreateSRP()
    $SRP = ObjGet("winmgmts:.rootdefault:Systemrestore")
    $sDesc = "Manual Restore Point"
    $sDesc = InputBox("Enter a description.", "System Restore script : winhelponline.com", "Manual Restore Point")
    If StringStripWS($sDesc, 3) <> "" Then
        $sOut = $SRP.createrestorepoint($sDesc, 0, 100)
        If $sOut <> 0 Then
            MsgBox(16, "Error", "Error " & $sOut & ": Unable to create Restore Point.")
        EndIf
    EndIf
EndFunc   ;==>CreateSRP
Edited by ricky03
Link to comment
Share on other sites

#RequireAdmin

Local $rtn = CreateSRP()
MsgBox(0, '', $rtn)

Func CreateSRP()
    Local $sDesc = InputBox('Enter a description.', 'System Restore script : winhelponline.com', 'Manual Restore Point')
    If @error Or Not $sDesc Then Return -1
    Local $objClass = ObjGet('winmgmts:.rootdefault:SystemRestore')
    If Not IsObj($objClass) Then Return -2
    If $objClass.CreateRestorePoint($sDesc, 0, 100) <> 0 Then Return -3
    Return 1; <-- successful
EndFunc

-edit-

oops, you guys beat me to it.

Edited by ripdad

"The mediocre teacher tells. The Good teacher explains. The superior teacher demonstrates. The great teacher inspires." -William Arthur Ward

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...