好贷网好贷款

Windows学习笔记15——定时器

发布时间:2016-12-4 7:54:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Windows学习笔记15——定时器",主要涉及到Windows学习笔记15——定时器方面的内容,对于Windows学习笔记15——定时器感兴趣的同学可以参考一下。

1、关于定时器(计时器)       Windows计时器是PC硬件和ROM BIOS架构下的计时器的一种相对简单的扩充。Windows本身处理硬件中断,Windows应用程序不拦截BIOS中断。       因为Windows应用程序从正常的消息队列中取得WM_TIMER消息,所以应用程序在进行其他处理时不必担心WM_TIMER消息会意外中断程序。       Windows应用程序不能以高于解析度的频率(Windows98, 每秒18.2次, WindowsNT,每秒约100次)接收WM_TIMER消息。       WM_TIMER消息是非同步的,在消息队列中是低优先级的,和WM_PAINT消息一样,只有在消息队列中没有其他消息时才接收它们。(由此可以知道WM_TIMER消息并不能准确地定时)       WIndows不能持续向消息队列中放入多个WM_TIMER消息,而是将多余的WM_TIMER消息组合成一个消息。 2、定时器的使用  方法一:             SetTimer(hwnd, TIMERID, uiMsecInterval, NULL);             KillTimer(hwnd, TIMERID);  方法二:             void CALLBACK  TimerProc(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)             {                 处理WM_TIMER消息              }             SetTimer(hwnd, iTimerID, uiMsecInterval, TimerProc);             KillTimer(hwnd, iTimerID);             Windows发送WM_TIMER消息给TimerProc回调函数,而不是WndProc。  方法三:            iTimerID = SetTimer(NULL, 0, wMescInterval, TimerProc);            KillTimer(NULL, iTimerID); 3、GetLocalTime取得目前时间      SYSTEMTIME结构      typedef struct _SYSTEMTIME     {           WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour;           WORD wMinute; WORD wSecond; WORD wMilliseconds;     }SYSTEMTIME, *PSYSTEMTIME;        SYSTEMTIME结构主要用于GetLocalTime和GetSystemTime函数,GetSystemTime函数得到目前的世界时间。GetLocalTime函数得到当地时间,依据电脑所在时区。       此外,还有SetLoaclTime和SetSystemTime。 4、格式化时间      格式化日期和时间的最简单方法是:调用GetDataFormat 和GetTimeFormat函数      GetLocaleInfo函数取得与指定的“本地”有关的信息。      原型:int GetLocaleInfo(LCID Locale, LCTYPE LCType, LPTSTR lpLCData, int cchData);      参数:Locale :(long) 欲获得信息的“地方”ID,                     LCType:( Long),要取回的信息类型。                lpLCData (String),指定一个缓冲区,用于装载要求的信息。注意预先将字串格式化成合适的长度                cchData (Long),lpLCData缓冲区的长度;如设为零,表示获取必要的缓冲区长度.      返回值:(Long),装载到缓冲区的字符数,或者cchData要求的缓冲区长度。零表示出错。会将GetLastError设为下述值之一:  ERROR_INSUFFICIENT_BUFFER,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER   5、WM_SETTINGCHANGE      如果使用者更改了任何系统设定,则会将WM_SETTINGCHANGE消息传送给所有的应用程序。  

上一篇:【浏览器】window.innerWidth/innerHeight (CSS像素) Viewport+滚动条
下一篇:ocos2d-x Win32下的节点缩放原理研究心得

相关文章

相关评论