Windows VBSript关闭消息混乱
我目前正在学习如何用Visual Basic编写命令,并决定制作一个简单的关机消息。代码工作得很好:当用户单击“是”时,它将关闭,“否”,“取消”和“X”按钮关闭消息。 然而,我决定尝试一个恶作剧的消息,也就是说,计算机将关闭任何选择。我运行了脚本,但是当我单击“X”图标时(我没有想到要关闭我的计算机!),我的计算机还是关闭了:( 有没有办法阻止这种情况发生,或者更好的办法是,有没有办法灰显“X”图标,以便用户无法关闭消息? 代码如下:Windows VBSript关闭消息混乱,windows,vba,vbscript,Windows,Vba,Vbscript,我目前正在学习如何用Visual Basic编写命令,并决定制作一个简单的关机消息。代码工作得很好:当用户单击“是”时,它将关闭,“否”,“取消”和“X”按钮关闭消息。 然而,我决定尝试一个恶作剧的消息,也就是说,计算机将关闭任何选择。我运行了脚本,但是当我单击“X”图标时(我没有想到要关闭我的计算机!),我的计算机还是关闭了:( 有没有办法阻止这种情况发生,或者更好的办法是,有没有办法灰显“X”图标,以便用户无法关闭消息? 代码如下: Option Explicit Dim result re
Option Explicit
Dim result
result = MsgBox ("Do you want to shutdown?", 3+48,"Warning")
Dim objShell
Select Case result
Case vbYes
MsgBox("shuting down ...")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 20"
Case vbNo
MsgBox("shuting down ...")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 20"
Case vbCancel
MsgBox("shuting down ...")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 20"
End Select
提前干杯!:D好的,有没有理由尝试删除/禁用X?我问,因为虽然可以做到,但这会有点困难
-r:用于重新启动 -s:用于关机 此Vbscript可以在桌面上创建一个快捷方式,询问您是否要关闭计算机
Option Explicit
Dim MyScriptPath
MyScriptPath = WScript.ScriptFullName
Call Shortcut(MyScriptPath,"Shutdown 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 = "Shutdown the computer"
Msg = "Are you sure to shutdown 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_Shutdown(30)
else
WScript.Quit()
End if
End Sub
'**********************************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************
Sub Run_Shutdown(N)
Dim ws,Command,Execution
Set ws = CreateObject("wscript.Shell")
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
'**********************************************************************************************
感谢您的回复!问题现已解决:)