社区
Windows SDK/API
帖子详情
请问在win2000下调用关闭系统api运行出错,提示没有运行权限,在win98下可以,怎么办?
tbaep
2002-08-17 12:28:43
请问在win2000下调用关闭系统api运行出错,提示没有运行权限
我是这样调用的:
Win32Check(ExitWindowsEx(EWX_SHUTDOWN,0))
但是运行出错?
...全文
86
7
打赏
收藏
请问在win2000下调用关闭系统api运行出错,提示没有运行权限,在win98下可以,怎么办?
请问在win2000下调用关闭系统api运行出错,提示没有运行权限 我是这样调用的: Win32Check(ExitWindowsEx(EWX_SHUTDOWN,0)) 但是运行出错?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tbaep
2002-08-17
打赏
举报
回复
unionsoftzboy(unionsoftzboy) 的方法我试了,不需要直接关掉机器电源
banxian
2002-08-17
打赏
举报
回复
偶不要你的分,呵呵
banxian
2002-08-17
打赏
举报
回复
书上说,对于Windows NT(2000就是NT5.0),参数为0(LOGOFF)不需特权.
参数为1(shutdown),2(REboot)需要SE_SHUTDOWN_NAME特权.
不知道实际怎样.没有试过
tbaep
2002-08-17
打赏
举报
回复
我是在Administrator权限下执行的程序啊
unionsoftzboy
2002-08-17
打赏
举报
回复
你需要调用AdjustTokenPrivileges函数给当前进程授权:
procedure AdjustToken;
Const TOKEN_ADJUST_PRIVILEGES = $20;
TOKEN_QUERY = $8;
SE_PRIVILEGE_ENABLED = $2;
var
hdlProcessHandle,hdlTokenHandle:THandle;
tmpLuid :TLargeInteger;
tkp :TTOKENPRIVILEGES;
lBufferNeeded : DWord;
begin
SetLastError(0);
hdlProcessHandle := GetCurrentProcess();
OpenProcessToken(hdlProcessHandle,
(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle);
LookupPrivilegeValue('', 'SeShutdownPrivilege', tmpLuid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Luid := tmpLuid;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hdlTokenHandle,
False,
tkp,
0,
nil,
lBufferNeeded);
end;
解决了的话,记得给俺分哟。
banxian
2002-08-17
打赏
举报
回复
2000下必须有Administrator权限(偶是看书上说的)
tbaep
2002-08-17
打赏
举报
回复
希望:unionsoftzboy(unionsoftzboy)帮我解决能够关掉电源的问题
编程必备知识大杂烩
亲手打造一个QQ恶作剧程程序原理:获取系统中的所有进程,并保存在一个数组中,然后在数组中查找含有QQ,oicq,qq,OICQ字样的进程,如果找到就立即杀掉该进程.这样你一
运行
QQ,QQ进程就会被立即杀掉,也就是说如果该恶作剧...
Linux新手精彩问答
Linux新手精彩问答----------------------------网络无关篇--------------------------0001 修改主机名(bjchenxu)vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(
没有
这行?那就添加这一行吧),...
win
e
目录 1. 介绍 1.1.
Win
e 是什么? 1.1.1.
Win
dows 和 Linux 1.1.2.... 系统要求 1.2.2.
Win
e 的功能 2. 获得
Win
e 2.1.
Win
e 的多种形式 2.2. 为 Debian 系统获得
Win
e 2.3. 为 Redhat 系统获得
Win
e 2.4. 为其他发...
Linux知识宝库
----------------------------网络无关篇-------------------------- 0001 修改主机名(bjchenxu) vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(
没有
这行?那就添加这一行吧),然后
运行
命令" ...
linux精彩收集
----------------------------网络无关篇-----------------.../etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(
没有
这行?那就添加这一行吧),然后
运行
命令 " hostname 主机名"。一般还要修改/etc/h...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章