关闭计算机就这几招
【程序编程相关:Visual C++.NET编程基础讲座】【推荐阅读:多域名同主机js转向】
“关闭系统”功能使计算机可以被安全的关闭.所有在文件系统里缓冲的内容都被强制写入磁盘.然后,显示相应的对话框,提示用户计算机将被关闭或者已经准备好被关闭.可选的情况一般是计算机在关闭后重起,而不是直接切断电源. 【扩展信息:调整SQLServer2000运行中数据】
“系统shutdown”属于windows系统的一种基本服务.功能上有“关闭系统”,“注销用户”,“锁定工作站”3中操作.sdk中提供了几个函数,来对此服务进行调用.如果一个进程调用“注销”功能函数,则该进程所在的安全环境范围内的所有进程都被终止,使当前的用户退出系统.一个登陆对话框被显示,期待新用户的登陆.
“锁定工作站”功能使你可以在离开计算机的时候,保护计算机屏幕不被未授权的用户看到.要解除锁定,必须用管理员或着授权用户的帐号与密码重新登陆.
如何关闭系统:
程序可以用两种方式关闭本地或远程计算机
直接关闭系统 关闭系统并重启 windows nt/2000 及后续版本: 程序必须拥有se_shutdown_name权限才能成功调用关闭函数. exitwindowsex函数可以用来关闭系统.如函数成功调用,系统对每个窗口发送wm_queryendsession 消息,询问窗口所属的程序是否可以被终止.收到此消息的程序应该进行响应,清除环境释放资源,然后返回true表示自己可以被终止.然而调用exitwindowex的时候如果指定了exw_force,则系统强行终止相关的进程并关闭,这样可能导致数据的丢失.这是一段在nt/2000中调用exitwindowex关闭系统的程序(强制关闭所有程序).
在windows95/98/me中直接调用exitwindowex即可.
----------------------------------------------------------------------------------------------------------- handle htoken; token_privileges tkp;// get a token for this process.
if (!openprocesstoken(getcurrentprocess(),
token_adjust_privileges | token_query, &htoken))
error("openprocesstoken");// get the luid for the shutdown privilege.
lookupprivilegevalue(null, se_shutdown_name,
&tkp.privileges[0].luid);tkp.privilegecount = 1; // one privilege to set
... 下一页