2016-04-03 7 views
1

Я знаком с shutdown /a или -a, но он работает только в том случае, если есть таймер перед выключением.Отключение выключения ПК - без периода времени

Есть ли способ для меня написать пакетный файл, который остановит процесс выключения, даже если пользователь выключится вручную?

+1

Когда я предотвращаю закрытие Google, я получаю много результатов, не работает ли кто-нибудь из вас? –

+0

все im получение этого типа: 'C: \ WINDOWS \ system32 \ shutdown.exe -a' , но, как я уже сказал, он работает только тогда, когда выключение выполняется таймером или аварийный сигнал, такой как shutdown -s - t 200 Я не могу использовать это, чтобы остановить выключение, когда im нажатие кнопки выключения через окна gui .. –

+1

Я думаю, что вы можете - вам просто нужно запустить его достаточно быстро, пока завершение работы. Какова ваша ситуация, можете ли вы добавить немного больше деталей? Например, администраторы могут запретить пользователям, не входящим в систему администратора, отключить компьютер, используя реестр. Разве это не вариант? –

ответ

0

Этот vbscript может создать ярлык на рабочем столе, запрашивая, хотите ли вы спящий режим на вашем компьютере.

И, конечно же, вы можете изменить его для перезагрузки или для выключения.

Option Explicit 
Dim MyScriptPath 
MyScriptPath = WScript.ScriptFullName 
Call Shortcut(MyScriptPath,"Hibernate the computer") 
Call AskQuestion() 
'********************************************************************************************** 
Sub Shortcut(PathApplication,Name) 
    Dim objShell,DesktopPath,objShortCut,MyTab 
    Set objShell = CreateObject("WScript.Shell") 
    MyTab = Split(PathApplication,"\") 
    If Name = "" Then 
     Name = MyTab(UBound(MyTab)) 
    End if 
    DesktopPath = objShell.SpecialFolders("Desktop") 
    Set objShortCut = objShell.CreateShortcut(DesktopPath & "\" & Name & ".lnk") 
    objShortCut.TargetPath = Dblquote(PathApplication) 
    ObjShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,-28" 
    objShortCut.Save 
End Sub 
'********************************************************************************************** 
Sub AskQuestion() 
    Dim Question,Msg,Title 
    Title = "Hibernate the computer by Hackoo 2016" 
    Msg = "Are you sure to Hibernate the computer now ?"& Vbcr &_ 
    "If yes, then click [YES] button "& Vbcr &_ 
    "If not, then click [NO] button" 
    Question = MsgBox (Msg,VbYesNo+VbQuestion,Title) 
    If Question = VbYes then 
     Call Run_Hibernate() 
    else 
     WScript.Quit() 
    End if 
End Sub 
'********************************************************************************************** 
Function DblQuote(Str) 
    DblQuote = Chr(34) & Str & Chr(34) 
End Function 
'********************************************************************************************** 
Sub Run_Hibernate() 
    Dim ws,Command,Execution 
    Set ws = CreateObject("wscript.Shell") 
    Command = "Cmd /c %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate" 
    'Command = "Cmd /c Shutdown -s -t "& N &" -c "& DblQuote("Save your work because your PC will shut down in "& N &" seconds") 
    Execution = ws.run(Command,0,True) 
End sub 
'********************************************************************************************** 

 Смежные вопросы

  • Нет связанных вопросов^_^