用hpp压片是写的一个程序。
这个程序可以在 cpu空闲 时自动关闭计算机。
适合 与哪些干体力活但自己有没有提供自动关机功能的软件 配合使用实现自动关机。
选中空闲时关机后,如果连续一分钟内cpu使用率 一直低于 8 ,
程序就会关机
NtQuerySystemInformation =(NTQSI)GetProcAddress( GetModuleHandle("ntdll.dll"), "NtQuerySystemInformation" );
使用这个函数获取 系统cpu利用率。
在程序启动后设置一个timer,每隔1秒检查一下cpu利用率。
如果连续60次检查 cpu 利用率都低于 8%
程序就认为系统处于空闲状态。
软件关机代码
//get os privilege
HANDLE hProcess,hToken;
TOKEN_PRIVILEGES Privileges;
LUID luid;
hProcess=GetCurrentProcess();
//Open Process Token
OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken);
Privileges.PrivilegeCount=1;
LookupPrivilegevalue(NULL,SE_SHUTDOWN_NAME,&luid);
Privileges.Privileges[0].Luid=luid;
Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
//Adjust the Privileges
AdjustTokenPrivileges(hToken,FALSE,&Privileges,NULL,NULL,NULL);
//shutdown
//注意此处我设为强制关机,所以注意要保存当前数据
if (0==ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF,NULL))
{
ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE|EWX_POWEROFF,NULL);
}
用ERP 合并多个rm/rmvb文件 | The IsBadReadPtr function verifies that the callin |
非定时自动关机程序 | |
[ 发布日期:21年前 (2004-08-06) ] [ 来自:Original ] | [分类:多媒体相关※ERMP] |
[ 分类:多媒体相关※ERMP
| 查看:2199 ]
rick 于 2004-08-06 14:25:52 发表评论:
发表评论 |