Oppure

Loading
05/11/10 23:40
Brenza
Salve a tutti, avrei bisogno di un codice che mi permetta di riavviare il sistema operativo windows indipendentemente dalla versione installata (xp, vista, 7) e che quindi lo faccia senza esare il tool shutdown.exe integrato nel sistema come descritto invece qui: pierotofy.it/pages/extras/forum/16/20788-spegnere_pc/


Su xp verrebbe
shell("shutdown -r -t 0")

Su 7 invece
shell("shutdown /r /t 0")




Googlando ho trovato questo se provo a compilare ma mi viene detto che la classe System.Management.ManagementScope non esiste...
Dim ms As System.Management.ManagementScope = New System.Management.ManagementScope("\LocalHost\roo t\cimv2")
ms.Options.EnablePrivileges = True
' Verwende diesen Eigenschaften wenn es Probleme mit den Rechten gibt
'ms.Options.Password = ""
'ms.Options.Username = ""
Dim oq As System.Management.ObjectQuery = New System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem")
Dim query1 As System.Management.ManagementObjectSearcher = New System.Management.ManagementObjectSearcher(ms, oq)
Dim queryCollection1 As System.Management.ManagementObjectCollection = query1.Get()
For Each mo As System.Management.ManagementObject In queryCollection1
Dim ss As String() = {"2", "0"} ' Reboot
'Dim ss As String() = {"2", "2"} ' Logoff
'Dim ss As String() = {"0", "0"} ' Shutdown
mo.InvokeMethod("Win32Shutdown", ss)
Next
aaa
06/11/10 8:33
lorenzo
quell'assembly è presente solo nella versione 4 di .NET come spiegato su MSDN
Se non stai compilando con questa versione, ovviamente non riuscirai mai
aaa
06/11/10 21:37
Brenza
Ah ho capito, grazie...
E mi sapresti consigliare un metodo valido per la versione di .net fx 2.0?


Ho trovato anche questa

Public Declare Function ExitWindows _
            Lib "User32" Alias "ExitWindowsEx" _
            (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long


ExitWindowsEx(2, 0)
aaa