H
hekinami
Unregistered / Unconfirmed
GUEST, unregistred user!
大家知道为了能在NT下用ExitWindowsEX()关闭系统,就只有用AdjustTokenPrivileges()打开应用程序的SE_SHUTDOWN_NAME权限。<br> 于是我查了联机帮助中AdjustTokenPrivileges()的用法,无奈在下本来英文就不怎么的,又是初学Windows编程,所以这个用法看得晕晕乎乎,用了以下一段代码:<br>var<br> a:TOKEN_PRIVILEGES;<br> b:array[0..0]of LUID_AND_ATTRIBUTES;<br>begin<br> b[0].LUID:=SE_SHUTDOWN_NAME;<br> b[0].Attibutes:=SE_PRIVILEGES_ENABLED;<br> a.PrivilegeCount:=1;<br> a.Privileges:=b;<br> AdjustTokenPrivileges(Application.Handle,false,a,nil,nil,nil);<br>end;<br> 结果当然是错的了,一大堆的错误:P,我在XP下使用Delphi,我不明白为什么它会告诉我SE_SHUTDOWN_NAME是未定义的标识符,我也不知道是不是应该这样给参数。<br> 问题是低级了一些,对高手是小菜,对我却有难度,分虽给得不多,但请各位伸出援助之手,多谢,多谢。<br> <br>