Spengere, riavviare, disconnettere in vb.net

martedì 20 maggio 2008 - 14.27

lilo Profilo | Junior Member

Vorrei sapere come da titolo quelle operazioni in vb.net come si eseguono.
Per favore non con il comando shell("shutdown -s"), anche perchè mostra un messaggio poco amichevole e si spenge dopo 30 secondi...
devo usare per forza le api? se sì come?
grazie

assiolle Profilo | Junior Member

Ciao, puoi referenziare la libreria di sistema Shell32.Dll ed interagire con molte funzionalità del sistema Operativo.

Esempio di spegnimento :

Dim Sh As New Shell32.Shell

Sh.ShutdownWindows()


Alessio
http://blogs.dotnethell.it/alessiop

lilo Profilo | Junior Member

Scusami ma non riesco a "referenziarla". Ti riferisci a progetto>aggiungi riferimento?
purtroppo non riesco a vederlo... scusate l'incompetenza

assiolle Profilo | Junior Member

Si devi referenziarla.
Progetto>Aggiungi riferimento> scheda COM.
In caso non si trovi sotto COM puoi sempre utilizzare la scheda SFOGLIA.La dll é sotto System32.

Crea una piccola applicazione Console e prova questo Codice :

Module Module1

Sub Main()

Console.ReadLine()

Dim Sh As New Shell32.Shell

Sh.ShutdownWindows()

End Sub

End Module


Alessio
http://blogs.dotnethell.it/alessiop

lilo Profilo | Junior Member

Perfetto! Ho visto tutto grazie mille, anche suspend che immagino serva a eseguire una sospensione. Ma per riavviare, disconnettere e cambio utente (quest'ultimo posso farne a meno)? Grazie mille

assiolle Profilo | Junior Member

Forse ho trovato qualcos'altro che fa al caso tuo. Ti posto il Link : http://www.mentalis.org/soft/class.qpx?id=7
Si tratta di un WindowsController che ti permette di fare proprio le operazioni che cerchi, con il codice scritto sia in c# che in vb.net.
Dagli un'occhio.
Alessio
http://blogs.dotnethell.it/alessiop

lilo Profilo | Junior Member

Mmmmh.... una classe... beh ci guardo ma no so quanto ce ne potrò capire

lilo Profilo | Junior Member

Hai ragione! Non era difficile, bastava sistemare qualcosina e mettere mano sul secondo modulo! Ti ringrazio! Con questo mi hai insegnato molto!

assiolle Profilo | Junior Member

Bene mi fà molto piacere. Ciao
Alessio
http://blogs.dotnethell.it/alessiop
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5