vb关机有点小毛病,高人来指点一下吧

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:04:24
Private Sub Command1_Click()
uEnd = MsgBox("你确定要关机吗?", vbYesNo + vbQuestion, "退出程序") '出现离开提示窗口
If uEnd = vbYes Then
Shell "cmd.exe /c shutdown -s -f -t 0"
End
End If
End Sub
-------------------
为什么不会出现退出的提示框啊

没问题啊,我试过了
加一条语句定义一下uend试试
dim uend as integer

我试了,弹出一个窗口询问“你确定要关机吗?”,我点“是”,下面运行的很正常啊!

直接放在Form1里,然后画个command1就行了

Private Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal NewValue&, ByVal NewThread&, OldValue&)
Private Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Private Const SE_SHUTDOWN_PRIVILEGE& = 19
Private Const SHUTDOWN& = 0
Private Const RESTART& = 1
Private Const POWEROFF& = 2

Private Sub Command1_Click() 'PowerOff
RtlAdjustPrivilege SE_SHUTDOWN_PRIVILEGE, 1, 0, 0
NtShutdownSystem POWEROFF
End Sub

NtShutdownSystem 的参数可以改

Shell "cmd.exe /c shutdown -s -f -t 0" 可以改为
Shell "cmd.exe /c shutdown -s -f -t 30"
那个数字就是提示框出现的时间