关于定时器操作的一些补充
来源:互联网 发布:淘宝网模特 编辑:程序博客网 时间:2024/06/05 06:57
我们可以利用定时器进行一些操作:如定时关机,关闭显示器等等;下面介绍一些简单的用法:
1.显示器api
关闭显示器:SendMessage(hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,2); 低电状态:SendMessage(hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,1); 打开显示器SendMessage(hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,-1);
例子:
void CALLBACK MyTimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime){SYSTEMTIME stLocal;GetLocalTime(&stLocal);TCHAR strTime[256];wsprintf(strTime,"%i年%i月%i日,%i:%i:%i",stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute,stLocal.wSecond);SetDlgItemText(hwnd,IDC_EDITTIMER,strTime);if(1==stLocal.wHour && 2==stLocal.wMinute)SendMessage(hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,2);}BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){ SetTimer(hwnd,0,1000,MyTimerProc); return TRUE;}
2.计算机api
ExitWindowsEx(EWX_LOGOFF, 0); // 注销
ExitWindowsEx(EWX_REBOOT, 0); // 重启
ExitWindowsEx(EWX_SHUTDOWN, 0); // 关机
ExitWindowsEx(EWX_REBOOT, 0); // 重启
ExitWindowsEx(EWX_SHUTDOWN, 0); // 关机
例子:
void CALLBACK MyTimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime){SYSTEMTIME stLocal;GetLocalTime(&stLocal);TCHAR strTime[256];wsprintf(strTime,"%i年%i月%i日,%i:%i:%i",stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute,stLocal.wSecond);SetDlgItemText(hwnd,IDC_EDITTIMER,strTime);HANDLE hToken;TOKEN_PRIVILEGES tkp;DWORD dwVersion;dwVersion = GetVersion(); // 得到WINDOWS NT或Win32的版本号if(dwVersion < 0x80000000) // 用于判断WIN系列,从而设置相应的权限{ OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken); 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); ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0); } else { ExitWindowsEx(EWX_FORCE | EWX_SHUTDOWN, 0); }}BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){SetTimer(hwnd,0,1000,MyTimerProc); return TRUE;}
- 关于定时器操作的一些补充
- 关于RMXP的一些补充
- 关于Cookie的一些补充
- 关于AD的操作 --补充
- iOS性能优化的一些操作(补充)
- 关于腾讯vs360分析的一些补充
- 关于Android Service的一些补充
- 关于压缩感知的一些补充
- 关于SpringMVC注解的一些补充说明
- 关于 foundation 的一些知识补充总结
- 关于php 中spl_autoload_register的一些补充
- 关于AD的操作 -- 接口补充
- 关于JS定时器的一些总结
- Linux的一些基础操作(不定时补充)
- linux的一些操作(不断更新,随时补充)
- Groovy学习笔记之关于闭包的一些补充
- 关于上一篇AGENTX MIB的一些补充
- 关于plotline 二维坐标曲线控件的一些补充说明
- 在ubuntu server 12.04环境中手动配置openerp服务器
- 二叉树的常用操作(C++实现)
- [转]转的别人的一篇文章:python模块之samba
- oracle中按行查找指定记录数
- CXGRID增加非绑定数据源字段,实现勾选功能
- 关于定时器操作的一些补充
- C++学习笔记
- 编写 Objective-C 代码
- DOS批处理高级教程(还不错)
- Oracle DB 使用子查询来解决查询
- 输入输出函数 Input/Output with files
- java的几种模式!
- 空指针赋值分区
- 接下来的一个星期