- 在线时间
- 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)
4 t; L5 x$ k1 o, z9 ] i# y; P{9 q, T* I/ z! E+ {
HANDLE hToken;
! F) j# x/ ~- n( X' ^) n3 T( Z TOKEN_PRIVILEGES tkp; </P>/ h. ?% w3 S. x, r3 g {
< > // Get a token for this process.- G; Q' X# {" y' i( f% V
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
7 w$ Q( S2 f& A8 O6 _/ l& w r* a {
/ y+ ^; H) T0 C4 T; y' P- w% ~ return false;: \) _* o1 y2 l7 W2 F
}</P>3 V. y5 t0 A' S6 _9 r4 y# B; Y }
< > // Get the LUID for the shutdown privilege.( \* }1 w! C2 c/ }# Q6 V1 V+ \
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); </P>4 s7 V5 x6 J$ \1 e0 r5 l
< > tkp.PrivilegeCount = 1; // one privilege to set
3 ] ?+ V9 ]. r8 J tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;</P>. v2 N7 ^5 Q0 W' l/ ~- x! c
< > // Get the shutdown privilege for this process.
0 r, N, z- {' E1 ^9 ~' c" |, T AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);</P>1 V2 D% J. R& ~. W( W* S' R2 ?, q
< > if (GetLastError() != ERROR_SUCCESS)) d* c) G, N f. e* S2 q$ S
{+ u6 @2 y9 ]2 C! ? `
return false;
/ m! R V/ e+ @; _4 T Q# b* s9 Y z }# n9 Q6 M1 S% u
switch(kind)
, @6 Z7 I; g. t @ {case 1: ExitWindowsEx(EWX_FORCE|EWX_REBOOT,0); break; //重启! I, c4 _( m0 J4 I2 o6 g
case 2: ExitWindowsEx(EWX_FORCE|EWX_SHUTDOWN|EWX_POWEROFF,0); break; //关机
2 y( N! S1 X/ M) Y/ o Y \ case 3: ExitWindowsEx(EWX_FORCE|EWX_LOGOFF,0); break; //注销) h! K5 z8 g5 ^/ e @9 D
case 4: SetSystemPowerState(false, true); break; //休眠; X& L# g0 x" f8 K, V8 J. R2 x
case 5: SetSystemPowerState(true, true); break; //待机
' Z! s# n; N# F4 F5 L default: break;/ H; f$ Y( V% g
}7 a3 S2 m& W& ^6 D
return true;</P>: A% i: t. {% u4 W+ t' Y# Y
< >}</P> |
zan
|