读书人

C#中怎么用ExitWindowEx实现关闭Windo

发布时间: 2012-04-17 15:06:33 作者: rapoo

C#中如何用ExitWindowEx实现关闭WindowsXP
本人是个新手,用C#帮朋友写了一个定时关机的小程序,可是在WindowsXP无法运行。
查了很多相关资料,终于明白了是系统权限的问题。
根据网上的资料,修改了源程序,可是还是不行。
主要的问题是对 OpenProcessToken 、LookupPrivilegeValue 和 AdjustTokenPrivileges 这三个函数的作用和用法不太明白。
恳请各位前辈给小弟讲解讲解。
主要是那三个函数的格式、作用和用法(最好是能把带注释的源码贴上来,网上有些源码不全,看不懂,也运行不了)。
在这里,小弟先谢谢各位前辈了。

[解决办法]
AdjustTokenPrivileges(hToken,FALSE,&TokenPrivileges,sizeof(TOKEN_PRIVILEGES),NULL,NULL);//调整进程令牌,使其支持关机;

ExitWindowsEx(EWX_LOGOFF,0);//注销系统;

LockWorkStation();//锁定系统;

InitiateSystemShutdown(NULL,szMessage,dwTimeout,FALSE,bSig);//支持到记时和消息显示的关机/重启;


SetSystemPowerState(bSig,FALSE);//系统休眠/冬眠;

[解决办法]
看这个
http://www.chenjiliang.com/Article/View.aspx?ArticleID=2087&TypeID=84

http://www.cnblogs.com/kasafuma/archive/2005/12/20/300557.aspx

读书人网 >C#

热点推荐