社区
Windows SDK/API
帖子详情
SetSystemPowerState函数,请问谁会用?
alec_ma
2004-01-16 02:59:39
我在一个BUTTON中写了
SetSystemPowerState(False,True);
按下后一点反应都没有。请问有谁知道是怎么一回事
...全文
456
5
打赏
收藏
SetSystemPowerState函数,请问谁会用?
我在一个BUTTON中写了 SetSystemPowerState(False,True); 按下后一点反应都没有。请问有谁知道是怎么一回事
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alec_ma
2004-01-16
打赏
举报
回复
thank you very very :d
winsock2000
2004-01-16
打赏
举报
回复
呵呵,刚刚帮你试过得了,系统2003!休眠状态!
参看大富翁http://www.delphibbs.com/delphibbs/dispq.asp?lid=903658
function SetPrivilege(
sPrivilegeName : string;
bEnabled : boolean )
: boolean;
var
TPPrev,
TP : TTokenPrivileges;
Token : THandle;
dwRetLen : DWord;
begin
Result := False;
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,Token );
TP.PrivilegeCount := 1;
if( LookupPrivilegeValue(
Nil,
PChar( sPrivilegeName ),
TP.Privileges[ 0 ].LUID ) )then
begin
if( bEnabled )then
begin
TP.Privileges[ 0 ].Attributes :=
SE_PRIVILEGE_ENABLED;
end else
begin
TP.Privileges[ 0 ].Attributes :=
0;
end;
dwRetLen := 0;
Result := AdjustTokenPrivileges(
Token,
False,
TP,
SizeOf( TPPrev ),
TPPrev,
dwRetLen );
end;
CloseHandle( Token );
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetPrivilege( 'SeShutdownPrivilege', True ); //获取权限!
SetSystemPowerState(true,true)
end;
end.
hch_45
2004-01-16
打赏
举报
回复
procedure TForm1.AdjustToken();
var
hdlProcessHandle : Cardinal;
hdlTokenHandle : Cardinal;
tmpLuid : Int64;
tkpPrivilegeCount : Int64;
tkp : TOKEN_PRIVILEGES;
tkpNewButIgnored : TOKEN_PRIVILEGES;
lBufferNeeded : Cardinal;
Privilege : array[0..0] of _LUID_AND_ATTRIBUTES;
begin
hdlProcessHandle := GetCurrentProcess;
OpenProcessToken(hdlProcessHandle,
(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY),
hdlTokenHandle);
// Get the LUID for shutdown privilege.
LookupPrivilegeValue('', 'SeShutdownPrivilege', tmpLuid);
Privilege[0].Luid := tmpLuid;
Privil
ege[0].Attributes := SE_PRIVILEGE_ENABLED;
tkp.PrivilegeCount := 1; // One privilege to set
tkp.Privileges[0] := Privilege[0];
// Enable the shutdown privilege in the access token of this
// process.
AdjustTokenPrivileges(hdlTokenHandle,
False,
tkp,
Sizeof(tkpNewButIgnored),
tkpNewButIgnored,
lBufferNeeded);
end;
******************
function SleepSystem():BOOL;
var
hProcess,hAccessToken:THandle;
LUID_AND_ATTRIBUTES:TLUIDAndAttributes;
TOKEN_PRIVILEGES: TTokenPrivileges;
BufferIsNull:DWORD;
Const
SE_SHUTDOWN_NAME='SeShutdownPrivilege';
begin
hProcess:=GetCurrentProcess();
OpenProcessToken(hprocess,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hAccessToken);
LookupPrivilegeValue(Nil,SE_SHUTDOWN_NAME,LUID_AND_ATTRIBUTES.Luid);
LUID_AND_ATTRIBUTES.Attributes:=SE_PRIVILEGE_ENABLED;
TOKEN_PRIVILEGES.PrivilegeCount:=1;
TOKEN_PRIVILEGES.Privileges[0]:=LUID_AND_ATTRIBUTES;
BufferIsNull:=0;
AdjustTokenPrivileges(hAccessToken,False,TOKEN_PRIVILEGES,sizeof(TOKEN_PRIVI
LEGES),Nil,BufferIsNull);
SetSystemPowerState(False,True);
ShutDownSystem:=True;
end;
hch_45
2004-01-16
打赏
举报
回复
在98可以,在2000,NT,xp下你要先取到SE_SHUTDOWN_NAME权限。
winsock2000
2004-01-16
打赏
举报
回复
98可以!2000要获取权限!
【Python小技巧】100个Python使用小技巧3
Python语言简单、易入门,如今也越来越流行,我们可以用它来写数据分析、机器学习、web开发、脚本和自动化等,下面是100条Python使用的小技巧,适合在闲暇休息时刻快速进行阅读 目录51.map()返回一个新对象52.range()与step参数53.range()默认从0开始54.你不需要和0比较长度55.可以在同一作用域多次定义相同的方法56.可以访问私有属性,甚至在其预期范围之外57.查看对象的内存使用情况58.可以定义一个可以使用任意多参数调用的方法59.可以使用super()或父类的名称来.
JavaScript反调试小技巧
1.
函数
重定义 防止在当前上下文中使用输出语句观察结果。 console.log("Hello World"); var fake = function() {}; window['console']['log'] = fake; console.log("You can't see me!"); console.log("Normal function"); // var original ...
【Python自动化测试3】初识数据类型与基础语法
本文章主要讲解的是Python基础语法知识内容与体系,针对特定语法做详细讲解以及初期需要了解的注意事项,为后续自动化测试的文章做基础铺垫
(转)一个关于VC++6.0与标准C++差异处理的小技巧
一个关于VC++6.0与标准C++差异处理的小技巧 2010-02-21 22:02 转载自 辩一辩的百度空间 VC++6.0对标准C++的支持并不太好,其中最常见的就是: #include<iostream> using namespace std; int main(){ int ...
FB的一些小技巧
1、FB默认
会
初始化数据,如果不初始化数据,可以在 = 后加any。数组初始化用{},类的初始化用()变量直接redim非常简单,如。2、redim多层类里的数据。3、数组与类的初始化。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章