- 在线时间
- 1957 小时
- 最后登录
- 2024-6-29
- 注册时间
- 2004-4-26
- 听众数
- 49
- 收听数
- 0
- 能力
- 60 分
- 体力
- 40959 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 23862
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 20501
- 主题
- 18182
- 精华
- 5
- 分享
- 0
- 好友
- 140
TA的每日心情 | 奋斗 2024-6-23 05:14 |
|---|
签到天数: 1043 天 [LV.10]以坛为家III
 群组: 万里江山 群组: sas讨论小组 群组: 长盛证券理财有限公司 群组: C 语言讨论组 群组: Matlab讨论组 |
< >bool closecomputer(int kind); W$ j) v% g+ o4 Y" Y3 z
{
# k# x4 G1 C" r/ B, d6 P) G3 A HANDLE hToken;! S' j( u) X9 i, r/ k5 G9 p: P/ ~
TOKEN_PRIVILEGES tkp; </P>
4 f( @6 b. q; s$ o7 v' z! h: O< > // Get a token for this process.
9 ]% m* B& X. H- {/ o if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)): Q; C2 e8 \ q7 M- X2 T3 x$ B" O- O
{+ o: C0 {8 T4 P% {3 d) I
return false;
f X- N1 z x- G' a8 \0 h+ n }</P>
5 y: Y1 ^# J2 c" v/ L< > // Get the LUID for the shutdown privilege.( u; z% N& r' a9 y4 y
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); </P>0 {" M/ v6 u6 x/ h( d$ l& T
< > tkp.PrivilegeCount = 1; // one privilege to set
0 Z% ^" {( s9 p* t: o tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;</P>* F* q4 o+ C/ b7 n* Z. j
< > // Get the shutdown privilege for this process.
9 d( c# _* [) h AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);</P>' H3 a& G" o; N" m: s. n F
< > if (GetLastError() != ERROR_SUCCESS)8 S" }8 b' e2 y7 t( z. ]
{
: L/ n8 I2 M- a8 A0 f; B return false;3 y+ l5 [; }4 O* E2 w
}
/ w. C1 o2 C% n: g9 H# `" h1 |3 Z switch(kind)
8 N# d' A+ _, M5 a. u6 p {case 1: ExitWindowsEx(EWX_FORCE|EWX_REBOOT,0); break; //重启
& {9 ^9 ]+ B6 t j9 U& Q, z; O, Q case 2: ExitWindowsEx(EWX_FORCE|EWX_SHUTDOWN|EWX_POWEROFF,0); break; //关机& J3 h k7 ?2 N2 E
case 3: ExitWindowsEx(EWX_FORCE|EWX_LOGOFF,0); break; //注销
. p0 J2 m+ v/ P+ S6 y case 4: SetSystemPowerState(false, true); break; //休眠9 G* N. t0 W8 v+ a4 k+ y9 y2 m4 |
case 5: SetSystemPowerState(true, true); break; //待机3 m! p7 C# V- |9 q. i- f
default: break;
2 c7 T# H( k e* d/ W }) u9 _9 b& q3 t3 X* y1 r
return true;</P>- e4 D* \3 ~7 x: r+ j
< >}</P> |
zan
|