谁给个VB写的强行关机的代码?

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:42:55
不要调用shutdown的,就是纯api是实现的,我这里有一个,可是本来该强行关机结果确实注销,怎么搞?
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Public Const EWX_LOGOFF = 0 '退出(注销)
Public Const EWX_SHUTDOWN = 1 '关机
Public Const EWX_REBOOT = 2 '重启动
Public Const EWX_FORCE = 4 '强制关机,即不通知现在活动应用程序让其先自我关闭

Public Const TOKEN_ADJUST_PRIVILEGES = &H20
Public Const TOKEN_QUERY = &H8
Public Const SE_PRIVILEGE_ENABLED = &H2
Public Const ANYSIZE_ARRAY = 1

Type LUID
lowpart As Long
highpart As Long
End Type

Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End Type

Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type

Declare Function GetCurrentProcess Lib "kernel32" () As Long
Declare Function LookupPrivilegeValue Lib "ad

其实不用那么麻烦的。

Shell "cmd /c shutdown -s -t 1", vbHide

强制关闭应用程序
Shell "cmd /c shutdown -s -f -t 1", vbHide

-----------------------
>>因为这个在win2k以下的系统没用
这句话我同意,但是win2k以下的系统关机不需要得到系统权限,所以用Api很简单.
你要作的就是得到windows的版本,然后
如果是win2k以下,api关机
如果winxp就Shell "cmd /c shutdown -s -f -t 1", vbHide
如果vista Shell "cmd /c shutdown /s /f /t 0",0

否则你用API好像也没有通一API就能关的,我以前作过一个关机的就是这么个思路写的,但不是用的VB

我那次搜到了一个代码,可以实现3秒钟切断电源一样的效果,不过可能对软硬件有伤害,不太建议使用,不过那个方法只调用了一个API,全部代码只有5行,很简练。找autorun.inf@163.com如果要的话

shutdown -s -t 0 -f