发信人: wpf (I'llTouchTheBlueSky), 信区: BorlandDev
标  题: delphi退出2k
发信站: 哈工大紫丁香 (2001年09月18日18:20:02 星期二), 站内信件

发信人: dll (呆子), 信区: Delphi
标  题: Re: 请教一下delphi你如何关闭退出windows2000?
发信站: BBS 水木清华站 (Tue Sep 18 14:27:18 2001)

const
  ADJUST_PRIV = TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES;
  SHTDWN_PRIV = 'SeShutdownPrivilege';
  PRIV_SIZE   = SizeOf(TTokenPrivileges);
var
  Len: DWORD;
  TokenPriv, Dummy: TTokenPrivileges;
  Token: THandle;
begin
 OpenProcessToken(GetCurrentProcess, ADJUST_PRIV, Token);
 LookupPrivilegeValue(nil, SHTDWN_PRIV,TokenPriv.Privileges[0].Luid);
  TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  TokenPriv.PrivilegeCount := 1;
  AdjustTokenPrivileges(Token, false, TokenPriv, PRIV_SIZE,Dummy, Len);
  InitiateSystemShutDown(nil,nil,0,True,FALSE);
end;

【 在 liuhm (少军) 的大作中提到: 】
: faint....你说我是 Administrator 啊,怎么会没权限呢???
: 我看过本书,是说要通过另外一个函数获取权限才能关闭win2000,
: 而在98不用此操作。我就是不知道怎么用API函数获取啊。


--


--
据说呆娃儿不笨

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.245.178]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.273毫秒