有关WINDOWS程序设计MFC的问题
来源:百度知道 编辑:UC知道 时间:2024/04/29 22:19:06
启动一个定时器,获得系统关闭/重启的时间后做对比,到时间就执行动作。
关机/重启用api函数ExitWindowEx()就可以。
ExitWindowsEx(EWX_POWEROFF,0) // 关闭计算机
ExitWindowsEx(EWX_REBOOT,0) // 重启计算机
需要注意的是,win9x可以用ExitWindowEx直接关机,但是在WinNT内核系统下需要先获得特殊权限才能关机。
用 OpenProcessToken() 和 LookupPrivilegeValue() 获得并制定特权,用AdjustTokenPrivileges()启动特权,然后再用 ExitWindowsEx() 关机。
锁定键盘鼠标,需要调用windows系统里的user32.dll,该dll里的BlockInput()函数可以实现键盘和鼠标的锁定和解锁,只需要将参数设置为TRUE或者FALSE。很简单。当利用BlockInput()函数锁定键盘鼠标的时候,"Ctrl+Alt+Delete"仍然是有效的,不必担心激活问题。
说的还清楚吧。
重启关机好办...
我在想你键盘鼠标都锁定了拿什么激活... DirectInput能起到拦截输入的作用么,我忘了TvT
系统定时重启,定时关闭:
你可以设置一个Timer,然后在里面判断,
ExitWindowsEx(EWX_POWEROFF,0) // 关闭计算机
ExitWindowsEx(EWX_REBOOT,0) // 重启计算机
但是你程序又是没有权限是不能关机,老是注销,提高程序权限是:
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
return;
LookupPrivil