C++--------检测电脑是否休眠过
来源:互联网 发布:手机照片排版软件 编辑:程序博客网 时间:2024/05/16 09:31
前一阵子,产测上需要这么一种功能------检测电脑是否睡眠过,现在记录一下主要的实现代码。
// TODO: 在此添加额外的初始化代码CString strCommandLine = GetCommandLine();strCommandLine.TrimLeft().TrimRight();CString strTimeout;int idx = strCommandLine.Find(_T(" "));if (idx != -1){strTimeout = strCommandLine.Mid(idx+1);strTimeout.TrimLeft().TrimRight();//m_nTimeout = _ttoi(strTimeout);//======================================================//m_nTimeout = 50;}TRACE(_T("m_nTimeout = %d\r\n"),m_nTimeout);SetTimer(TIMER1,TIMER1_INTERVAL,NULL);
LRESULT CPowerMonitorDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){// TODO: 在此添加专用代码和/或调用基类//TRACE(_T("%04x\r\n"),message);switch (message){case WM_POWERBROADCAST:{TRACE(_T("%04x\r\n"),wParam);//系统睡眠了if(wParam == PBT_APMSUSPEND){m_bAPMSUSPEND = TRUE;}//系统唤醒了else if (wParam == PBT_APMRESUMESUSPEND){m_bAPMRESUMESUSPEND = TRUE;}}break;default:break;}return CDialogEx::WindowProc(message, wParam, lParam);}
void CPowerMonitorDlg::OnTimer(UINT_PTR nIDEvent){// TODO: 在此添加消息处理程序代码和/或调用默认值switch (nIDEvent){case TIMER1:{m_dwCnts++;TRACE(_T("m_dwCnts=%d\r\n"),m_dwCnts);CString strSeconds;strSeconds.Format(_T("%ds"),m_nTimeout-m_dwCnts);//strSeconds.Format(_T("%ds"), 40);GetDlgItem(IDC_STATIC_TIMER)->SetWindowText(strSeconds);//3秒钟后执行//if (m_dwCnts==3)//{//system("shutdown -h");////SetSystemPowerState(false, false);////Sleep(1000*6);//}CString strTemp;CFile mFile;DWORD dwAttr = GetFileAttributes(_T("C://test"));//若文件夹不存在,创建文件夹if (dwAttr == 0xFFFFFFFF){CreateDirectory(_T("C://test"), NULL);}else{mFile.Open(_T("C://test//log.txt "), CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);}WORD unicode = 0xFEFF; //这句重要mFile.SeekToBegin();mFile.Write(&unicode, 2); //这句重要 CTime time = CTime::GetCurrentTime(); ///构造CTime对象CString m_strTime = time.Format("%Y-%m-%d %H:%M:%S");if (m_bAPMSUSPEND && m_bAPMRESUMESUSPEND){SetTimer(TIMER2,TIMER2_INTERVAL,NULL);m_bResult = TRUE;KillTimer(TIMER1);mFile.SeekToEnd();mFile.Write(_T("\r\n"), sizeof(_T("\r\n")));strTemp = _T("TestTime:") + m_strTime + _T(" result:pass ");mFile.Write(strTemp, wcslen(strTemp)*sizeof(wchar_t));GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T("测试通过!"));}else if(m_dwCnts >= static_cast<DWORD>(m_nTimeout)){SetTimer(TIMER2,TIMER2_INTERVAL,NULL);m_bResult = FALSE;KillTimer(TIMER1);mFile.SeekToEnd();mFile.Write(_T("\r\n"), sizeof(_T("\r\n")));strTemp = _T("TestTime:") + m_strTime + _T(" result:fail ");mFile.Write(strTemp, wcslen(strTemp)*sizeof(wchar_t));GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T("测试失败!"));}mFile.Flush();mFile.Close();}break;case TIMER2:{KillTimer(TIMER2);if (m_bResult){exit(0);}else{exit(1);}}default:break;}CDialogEx::OnTimer(nIDEvent);}
0 0
- C++--------检测电脑是否休眠过
- 黑客是否光顾过你的电脑
- C#winform检测电脑安装的.netframework版本和是否安装了某软件
- C#winform检测电脑安装的.netframework版本和是否安装了某软件
- JavaScript检测页面是否刷新过
- 检测电脑是否存在最好方法
- Qt开发 检测电脑是否有网
- 如何检测电脑是否已经中毒?
- 电脑休眠小知识
- 电脑设置休眠
- win7设置电脑休眠
- vc 阻止电脑休眠
- win7 如何知道别人是否用过你的电脑
- 快速自检电脑是否被黑客入侵过(Windows版)
- ajax实现在注册时检测用户名是否注册过。
- 如何检测电脑是否安装了.net framework
- 检测自己电脑是否中病毒木马方法
- 如何检测电脑是否安装了.net framework
- 在angular2服务中注入服务
- Excel文件创建HIVE表
- javascript预加载图片方法汇总
- Linux 应用---make及makefile的编写
- linux svn迁移备份的三种方法
- C++--------检测电脑是否休眠过
- java 运行堆内存分析
- OC用字典数组创建省市区
- Delphi中调用API函数经验点滴(二)
- iOS透明viewControler
- C#中常用的几种读取XML文件的方法
- C++权限继承方式对权限的影响
- Java 类加载器
- 游戏开发令人拍案叫绝的小网站收藏