我在MSDN上看WindowsEx的说明,可是都是英文,看不懂,只好请各位高手帮忙了,给说一下各参数的作用行吗?
还有,我想做一个程序,让系统重新启动,不知道参数应该怎么样搭配呢?
还有,我想做一个程序,让系统重新启动,不知道参数应该怎么样搭配呢?
解决方案 »
- WSAIoctl返回10022
- 这个运算符什么意思呀?
- 网络事件 WSAEventSelect
- OnContextMenu 和OnRButtonDown问题
- 请问怎么样用DirectX实现屏幕抓图?
- 为什么我在调试程序时,F10到一个子函数之后,总会出现要我输入:iostream.cpp的路径呢?我在vc的环境下找不到该文件啊?
- 请问如何把一个CString转换成int?
- 用Simple MAPI能否读取IMAP文件夹里的信?第四次发贴了,大侠们好歹给个话儿。
- access数据库字段中字符数的限制该如何解决?
- 问几个有关数据库的初级问题,白给分!
- 如何得到查询执行的进度 access
- 我做一个浏览器,用什么视图比较好?
Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
说明
退出windows,并用特定的选项重新启动
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT 重新引导系统
EWX_SHUTDOWN 关闭系统
dwReserved Long,保留,设为零
注解
这个函数调用后会立刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
好像 后面版本的 windows ,这个不起作用了要的到控制权利
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) MessageBox("OpenProcessToken failed!");
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
if (GetLastError() != ERROR_SUCCESS)
MessageBox("AdjustTokenPrivileges enable failed!");
if (!ExitWindowsEx(EWX_REBOOT, 0))
MessageBox("ExitWindowsEx failed!");