当前位置:首页 > 技术心得 > 正文内容

vc中如何获取修改系统时间的消息

xjtudll12年前 (2014-08-26)技术心得8760


问题:
我在窗口上显示了系统时间,点击后调出系统的“日期和时间 属性”对话框,修改属性后,如何得知?也就是我在程序中如何得知系统的时间修改消息?

答案:

A message that is sent whenever there is a change in the system time.
A window receives this message through its
WindowProc function.

系统时间改变后,系统就会发出这个消息。
 
LRESULT CALLBACK WindowProc(
  HWND hwnd,      
// handle to window 
  UINT uMsg,      
// message identifier 
  WPARAM wParam,  
// not used; must be zero 
  LPARAM lParam   
// not used; must be zero 
);


代码举例:
LRESULT CTimeCalibraterDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{     
    switch(message)
    {
    case WM_USER_BEGIN_CALIBRATION:
        EnableTimeCorrectCalibrate(FALSE);
        break;
       
    case WM_USER_END_CALIBRATION:
        EnableTimeCorrectCalibrate(TRUE);
        break;
       
    case WM_TIMECHANGE:      
 
        //  when systemtime has changed
        if(!m_bSetSystemTimeFlag)
        {
 
            // the systemtime be changed outside, not by this application
 
            m_Clock_Digital.SetOffsetTime(NULL);
            m_Clock_Digital.Start();
            OnButtonUpdate();
 
        }
        break;
    }
}

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/335/

标签: VC
分享给朋友:

“vc中如何获取修改系统时间的消息” 的相关文章

请确保此文件可访问并且是一个有效的程序集或COM组件

核心:重新注册dll 在项目中添加一个dll的引用时出现错误: 请确保此文件可访问并且是一个有效的程序集或COM组件 解决方法:运行--cmd--regsvr32 dll的绝对路径名(路径实例:c:/dll/xxx.dll) 如果是.NET的COM组件,要用Regasm注册...

PlatformIO串口无输出

PlatformIO串口无输出

问题:同样的串口打印代码,在Arduino IDE里可以正常输出,但是在PlatformIO里看不到任何输出硬件:ESP32-S3 Camera解决方法:This is because DTR and RTS both are connected to the RESET pin and GPIO...

Altium原理图update到PCB时某些元件老是自动先删除后添加

Altium原理图update到PCB时某些元件老是自动先删除后添加

现象:从原理图update到PCB时,明明原理图没有变更,但是某些元件老是被自动删除,然后又自动添加进去了,于是PCB里摆好的元件又到了右下角了,导致又要重新摆放元件。 如下图所示,C1~C21先是被remove了,然后又被add了。看起来没什么大碍,但是PCB上之前被摆放好的C1~C21又被自动放...

SVN强制写日志和修改日志功能

SVN默认是可以不写日志的,也不能修改日志,使用时颇为不便。以下就讲述如何在windows系统下实现强制写日志和修改日志功能。 1、强制用户写日志 在每次提交的时候写明提交的目的是一个很好的习惯,SVN默认没有提供,但是可以通过脚本实现:将下面的代码存为bat文件,放到版本库的hooks目录下即可,...

CRC除法

所有CRC原理介绍中,都会提到CRC除法。CRC除法与算术除法有什么区别呢?下面举个实例来说明。 以下是120 ÷ 9 来举例说明CRC除法: 120 = 1111000 B 9 = 1001 B  ...

CC254x GAPBOND_IO_CAP_DEFINES ------ GAP Bond Manager I/O Capabilities的含义

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/62156.aspx #define GAPBOND_IO_CAP_DISPLAY_ONLY 0x00 //!< Display...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。