¿Cómo crear un punto de restauración del sistema mediante programación?

Estoy buscando una manera de crear un punto de restauración del sistema con la fecha y hora actuales presionando un botón. He intentado buscar en la web una forma sencilla de hacerlo, pero todavía no he encontrado ninguna.

Encontré este fragmento de código de:http://msdn.microsoft.com/en-us/library/windows/desktop/aa378847%28v=vs.85%29.aspx pero está en VB y no en C #, intenté convertirlo un poco, pero no creo que esté haciendo un gran trabajo traduciéndolo.

'CreateRestorePoint Method of the SystemRestore Class
'Creates a restore point. Specifies the beginning and 
'the ending of a set of changes so that System Restore 
'can create a restore point.This method is the 
'scriptable equivalent of the SRSetRestorePoint function.

Set Args = wscript.Arguments
If Args.Count() > 0 Then
    RpName = Args.item(0)
Else 
    RpName = "Vbscript"
End If

Set obj = GetObject("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")

If (obj.CreateRestorePoint(RpName, 0, 100)) = 0 Then
wscript.Echo "Success"
Else 
    wscript.Echo "Failed"
End If

Respuestas a la pregunta(3)

Su respuesta a la pregunta