Лично я знаю 3 способа выключить компьютер:
1:
Dim strComputer As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery( _
"Select * from Win32_OperatingSystem")
For Each ObjOperatingSystem In colOperatingSystems
ObjOperatingSystem.ShutDown
Next
2:
Через функцию ExitWindowsEx()
3: Просто запустить "%windir%\system32\shutdown.exe -s -f -t 01"
Но во всех трёх случаях в XP в конце появляется уведомление, что "ВОТ ТЕПЕРЬ ПИТАНИЕ КОМПЬЮТЕРА МОЖНО ОТКЛЮЧИТЬ". Как можно всё-таки полностью выключить компьютер?