C++定时器用法(已经封装成类)
2012-02-23 15:59
381 查看
编译环境
以下代码在VC7下测试通过。示例代码
////////////////////////////////////////////////////////////////////////// //ShyaTimer.h //作者:砍柴人 //日期:2012-2-23 ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// #include <Windows.h> #include <stdio.h> #include <Mmsystem.h.> #pragma comment(lib,"winmm.lib") /************************************************************************/ /* 事件处理函数,直接在里面写要处理的代码 */ /************************************************************************/ void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2 ); namespace Shya { class ShyaTimer { protected: MMRESULT nIDTimerEvent; public: UINT uDelay; ShyaTimer() { uDelay=1000; } ShyaTimer(UINT delay) { uDelay=delay; } void SetTimerDelay(UINT delay) { uDelay=delay; } UINT GetTimerDelay() { return uDelay; } bool Start() { nIDTimerEvent=timeSetEvent(uDelay,0,(LPTIMECALLBACK)TimeProc,0,(UINT)TIME_PERIODIC); if (nIDTimerEvent==0) { printf("启动时钟失败!\n" ); return false; } return true; } ~ShyaTimer() { Release(); } void Release() { timeKillEvent(nIDTimerEvent); } }; }
使用方法
1、添加头文件2、包含头文件,引用SHYA命名空间
3、实现处理函数:TimeProc
4、调用ShyaTimer类的方法;
使用示例代码
#include "stdafx.h" #include "shyatimer.h" using namespace Shya; void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2 ) { printf("时钟测试\n"); } int main(int argc, char *argv[]) { ShyaTimer *st=new ShyaTimer(); st->SetTimerDelay(2000); st->Start(); printf("%d",st->GetTimerDelay()); getchar(); st->Release(); return 0; }
相关文章推荐
- C声明变量的用法体现C++封装思想
- c++ 封装定时器
- C++ 中定时器的用法
- LinuxC/C++编程基础(14) asio定时器的用法
- C++ 定时器的用法:SetTimer和Ontimer
- DSP 2812: 使用C++封装定时器及应用举例
- QNX下三类定时器的C++封装
- epoll定时器实现系列文章:linux c++ 利用timerfd和epoll封装计时器(Timer)类
- C++——CString用法大全
- c++你不知道的用法之foreach篇
- C++星火03_valist用法
- Java数据库连接池封装与用法
- C++: 对双线程下载程序的封装和模拟
- C与C++中static关键字用法比较
- C++Vector用法
- C++中的inline用法
- C++中virtual(虚函数)的用法详解
- C++ Iostreams 用法详解(三)状态标志位
- C++流操作之fstream用法介绍
- C++中operator的特殊用法.