- 在线时间
- 1957 小时
- 最后登录
- 2024-6-29
- 注册时间
- 2004-4-26
- 听众数
- 49
- 收听数
- 0
- 能力
- 60 分
- 体力
- 40960 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 23863
- 相册
- 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)
7 q& R: l7 Z( l8 q; R( ]8 k{- D: ]! k) s$ A9 o7 |7 F4 ]
HANDLE hToken;
( x# v9 U9 k: J Q1 a' h) ]. l5 F7 ]. e TOKEN_PRIVILEGES tkp; </P>
. y4 W9 ^2 n2 G) v& Z< > // Get a token for this process.+ d9 ?4 |5 \5 Y) ?
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
' t# [6 v4 L$ ?7 |% m9 ^3 o6 P7 i {
6 K- m* Z r/ p/ `; b; \ return false;
$ [4 [. K$ U+ O }</P>% i# D5 E7 G# i0 p2 D
< > // Get the LUID for the shutdown privilege.
1 |; Q& M+ b4 O* ^+ y7 g$ u LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); </P>0 i$ B$ m# X2 V$ U* s+ b$ Y
< > tkp.PrivilegeCount = 1; // one privilege to set& D' z' O9 H2 {, \- v0 Q, D$ o
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;</P>: n: F) [4 M' I( B* w" g3 {
< > // Get the shutdown privilege for this process.; K5 l" S4 e h" V6 m" T
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);</P>
& A. t+ s& ]1 s0 r7 S< > if (GetLastError() != ERROR_SUCCESS)
& C* L+ O- A5 l5 L' l$ _* Y& v {
0 x4 a# [0 a% t+ \/ ? }0 U4 a return false;
/ Q6 j# d$ z0 J; r z }
" r3 k$ l" p1 r. K( c switch(kind)4 M" \2 E6 K1 Y; p+ N# y
{case 1: ExitWindowsEx(EWX_FORCE|EWX_REBOOT,0); break; //重启
# f# j5 P/ y% ]7 @' f9 X# \ case 2: ExitWindowsEx(EWX_FORCE|EWX_SHUTDOWN|EWX_POWEROFF,0); break; //关机
! ~3 N- w- i* c$ I+ X+ X case 3: ExitWindowsEx(EWX_FORCE|EWX_LOGOFF,0); break; //注销% O# N9 O$ H3 r2 F* q" I0 q
case 4: SetSystemPowerState(false, true); break; //休眠0 K& e* H h% S$ W- y. P
case 5: SetSystemPowerState(true, true); break; //待机% x* G R: X3 s. G+ ?: e
default: break;7 h8 F* t+ `9 r+ Z$ C5 `
}
. ^' \) Q* k: n6 H9 e6 ^ return true;</P>$ S, \* @" S- [, V! h# y
< >}</P> |
zan
|