W2K Shutdown

gsun 2002-06-16 11:20:30
请问在Windwos 2000中如何实现关机
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
水之手 2002-06-17
  • 打赏
  • 举报
回复
这是VB版的获取权限代码,MSDN中有VC版的,你自已转成Delphi吧。
Public Sub AdjustToken()
Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2
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

'Set the error code of the last thread to zero using the'SetLast Error function
SetLastError 0

'得到当前进程的句柄
hdlProcessHandle = GetCurrentProcess()

'得到当前进程的权限句柄
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle

'找到关闭权限并赋给LUID
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

tkp.PrivilegeCount = 1 ' One privilege to set
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED

'Enable the shutdown privilege in the access token of this process
AdjustTokenPrivileges hdlTokenHandle, False, tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
End Sub
bandrui 2002-06-17
  • 打赏
  • 举报
回复
加入一个按钮,在click中加入以下命令:
exitwindowsex(ewx_shutdown,0);
如果用得上就,嘿嘿。。。
gsun 2002-06-17
  • 打赏
  • 举报
回复
to Taken(铁拳):怎样获得关机权限?
Taken 2002-06-16
  • 打赏
  • 举报
回复
先获得关机的权限,然后使用ExitWindowsEx函数
gsun 2002-06-16
  • 打赏
  • 举报
回复
怎么没人响应

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧