Hier ein einfaches Beipiel, und was noch wichtiger ist:Es ist nicht active-vb. Denn hier bei nickles.de wird einem immer schnell geholfen !!!!!!!!!!!
Option Explicit
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Const EWX_REBOOT = 2
Private Sub cmdTerminate_Click()
Dim lngRet As Long
If MsgBox("Soll WIndows wirklich beendet werden?", vbYesNo + vbQuestion, "Windows neu starten") = vbYes Then
lngRet = WinNeustart
If lngRet = 1 Then
MsgBox "Beenden von Windows zu diesem Zeitpunkt nicht möglich!"
End If
End If
End Sub
Function WinNeustart() As Long
Dim lngRet As Long
lngRet = ExitWindowsEx(EWX_REBOOT, 0)
End Function