Shutdown or restart Windows using ExitWindowsEx
http://www.vb-helper.com/howto_shutdown_exitwindowsex.htmlLocal and Remote Shutdown/Reboot/Logoff
http://www.vbcity.com/pubs/article.asp?alias=shutdownsShut down windows
http://216.26.168.92/vbsquare/api/tip179.html
http://www.vb-helper.com/howto_shutdown_exitwindowsex.htmlLocal and Remote Shutdown/Reboot/Logoff
http://www.vbcity.com/pubs/article.asp?alias=shutdownsShut down windows
http://216.26.168.92/vbsquare/api/tip179.html
解决方案 »
- 散分散分 分留着又不能娶老婆!---2
- SQL SERVER启动不了,提示由于登录失败而无法启动服务
- 关于界面的问题
- VB环境下正常,编译也通过,就是在生成exe是VB内存崩溃了。怎么办?
- 如何分离出webbroser控件中的框架网页?
- 我是写java的,没啥事,我就来晃晃。
- 如何打开已存在的Excel文件,并在头部插入空行,写入文字?
- 求经济实用的IVR解决方案
- 用VB怎样在本机不安装ORACLE的客户端,可以连接在局域网上另一台机子上的ORACLE8I。
- 如何利用ActiveX Control来实现MSChart功能
- 请问有没有必要学习VB.NET和C#,如果有必要的话,是学VB.NET实用还是C#实用?
- 程序中有一个最小化的窗体,双击它的标题栏,能使它回复到原先的WindowState,并且能自动记忆原先的状态是最大化还是Normal状态。我怎么
*API函数声明
Declare Function ExitWindows Lib "User" (ByVal dwReturnCode As Long, ByVal wReserved As Integer) As Integer
'执行
Dim DUMMY
DUMMY=ExitWindows(0,0)
1、API函数ExitWindowsEx,可以用来实现重新启动计算机或者关闭Windows。
把下面的这段代码拷贝到模块得声明部分:
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Public Const EWX_POWEROFF = 8
Declare Function ExitWindowsEx Lib "user32" Alias _
"ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved _
As Long) As Long
如果你想要重新启动计算机,只需要插入下面的代码就可以了:
Call ExitWindowsEx(EWX_REBOOT, 0)
◆说明:
参数说明如下:
EWX_FORCE 所有的进程都被强制终止。
EWX_LOGOFF 所有的进程被强制终止,并且用户退出登录(logged off)。
EWX_POWEROFF 计算机系统被关机,并且如果支持节电特性,则计算机被物理关机。
EWX_REBOOT 计算机系统被关机并重新启动。
EWX_SHUTDOWN 计算机被物理地安全地关机。
可根据需要使用相应的参数,还可以把这几个常量加起来作为组合的功能呢。
◆可能的用途:
在安装程序修改了系统文件后,需要重新启动Windows来完成安装时,这段代码就显得特别有用了。 还有就是给朋友一个胡闹的小东西(啊,我跑.....)
你须要引用下面的API
Public Const EWX_FORCE = 4Public Const TOKEN_ADJUST_PRIVILEGES = &H20
Public Const TOKEN_QUERY = &H8
Public Const SE_PRIVILEGE_ENABLED = &H2
Public Const ANYSIZE_ARRAY = 1Type LUID
lowpart As Long
highpart As Long
End TypeType LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End TypeType TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End TypeDeclare Function GetCurrentProcess Lib "kernel32" () As Long
Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As LongSub AdjustTokenPrivilegesForNT() Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
TOKEN_QUERY), hdlTokenHandle LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1
tkp.Privileges(0).pLuid = tmpLuid
tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED AdjustTokenPrivileges hdlTokenHandle, False, tkp, _
Len(tkpNewButIgnored), tkpNewButIgnored, _
lBufferNeeded
End Sub
关机时用下面的代码
AdjustTokenPrivilegesForNT
ExitWindowsEx uFlags, 0
上面的是api函数
我建议你不要用上面的代码
我有一个非常好用的控件 它可以实现关机等很多功能
用起来也非常方便 就象你用botton picture等vb自代的一样
要的话给我发消息 点我的名就可以
1、API函数ExitWindowsEx,可以用来实现重新启动计算机或者关闭Windows。
把下面的这段代码拷贝到模块得声明部分:
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Public Const EWX_POWEROFF = 8
Declare Function ExitWindowsEx Lib "user32" Alias _
"ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved _
As Long) As Long
如果你想要重新启动计算机,只需要插入下面的代码就可以了:
Call ExitWindowsEx(EWX_REBOOT, 0)
◆说明:
参数说明如下:
EWX_FORCE 所有的进程都被强制终止。
EWX_LOGOFF 所有的进程被强制终止,并且用户退出登录(logged off)。
EWX_POWEROFF 计算机系统被关机,并且如果支持节电特性,则计算机被物理关机。
EWX_REBOOT 计算机系统被关机并重新启动。
EWX_SHUTDOWN 计算机被物理地安全地关机。
可根据需要使用相应的参数,还可以把这几个常量加起来作为组合的功能呢
还要我每次都手动关电源
这个又怎么解决呢?