新闻中心 | 电脑硬件 | 手机 | 数码相机 | 笔记本频道 | 服务器 | 美图频道 「总」 生活频道 渔鱼频道 电影频道 游戏频道 旅游频道 设为首页 | 收藏
网络学院
迷城学吧
硬件
手机
旅游
生活
渔鱼
美图
电影
游戏
  导航: 迷城学吧 · 系统编程教程 · VB程序设计 · VB函数API字符串  

重启Win 2000/NT系统

图文推荐
『重启Win 2000/NT系统』可能有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2006-5-28 22:47:49 
重新启动Windows 2000/NT系统

 Reboots a Windows 2000 PC. Many examples shell to the kernel and just kill the PC. This does it properly and takes into account a user privilages.

'API Calls used for RebootPC

Private Const TOKEN_ADJUST_PRIVILEGES = &H20

Private Const TOKEN_QUERY = &H8

Private Const SE_PRIVILEGE_ENABLED = &H2

Private Const EWX_SHUTDOWN As Long = 1

Private Const EWX_FORCE As Long = 4

Private Const EWX_REBOOT = 2

Private Type LUID

 UsedPart As Long

 IgnoredForNowHigh32BitPart As Long

End Type

Private Type TOKEN_PRIVILEGES

 PrivilegeCount As Long

 TheLuid As LUID

 Attributes As Long

End Type

Private Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long

Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long

Private Declare Function AdjustTokenPrivileges Lib "advapi32" (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

Sub RebootPC()

 On Local Error GoTo RebootPC_ErrorHandler

 Const csProcName = "RebootPC"

 Dim hProcessHandle As Long

 Dim hTokenHandle As Long

 Dim tmpLuid As LUID

 Dim tkpNew As TOKEN_PRIVILEGES

 Dim tkpPrevious As TOKEN_PRIVILEGES

 Dim lBufferNeeded As Long

 hProcessHandle = GetCurrentProcess()

 Call OpenProcessToken(hProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hTokenHandle)

' Get the LUID for the shutdown privilege

 Call LookupPrivilegeValue("", "SeShutdownPrivilege", tmpLuid)

 tkpNew.PrivilegeCount = 1 ' One privilege to set

 tkpNew.TheLuid = tmpLuid

 tkpNew.Attributes = SE_PRIVILEGE_ENABLED

' Enable the shutdown privilege in the Access token of this process.

 lBufferNeeded = 0

 Call AdjustTokenPrivileges(hTokenHandle, False, tkpNew, Len(tkpPrevious), tkpPrevious, lBufferNeeded)

' Force a Reboot (no option to save files to cancel out)

 Call ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, &HFFFF)

 Exit Sub

RebootPC_ErrorHandler:

 Call RaiseError(csModName, csProcName, Err.Number, Err.Description)

End Sub

】【关闭窗口
  ·上一篇:
  ·下一篇:
VB函数API字符串:相关文章
VB函数API字符串点击榜
推荐教程重启Win 2000/NT系统
推荐教程怎么样用api检查任务栏里面有多
推荐教程调整分辩率和取当前分辩率
推荐教程API完成完美地图片出现效果(二
推荐教程VB里面运用OpenGL绘制3D地质构造
推荐教程VB里面运用OpenGL绘制3D地质构造
推荐教程VB里面运用OpenGL绘制3D地质构造
推荐教程获得当前计算机上地区域设定
推荐教程API完成完美地图片出现效果(一
推荐教程API完成完美地图片出现效果(五
网友自拍|生活百味|历史图片|摄影世界|明星图片|体坛图库|美女图片|图片纪实|世界奇观
电脑硬件推荐文章
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 库库中文网 | 设为首页 | 本页加入收藏 返回顶部
网站文本地图
版权所有:迷城学吧 欢迎各种媒体转载我们的原创作品[转载请注明出处]
Copyright © 2005-2008 www.McXb.com online services. all rights reserved. 蜀ICP备09003996
Template designed by Monsi. Optimized for 1024x768 to Firefox and MS-IE6 7. Site powered by JoyON.
红盾Gov315
有一个迷样的城市
在每个人的内心深处
让我们探索发掘这古老的墓