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

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

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


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

答案:

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://xjtudll.cn/Exp/335/

标签: VC
分享给朋友:

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

android实现状态栏添加图标的函数

android实现状态栏添加图标的函数,具体如下: private void showNotification() { // 创建一个NotificationManager的引用 NotificationManager notificationManager = (NotificationM...

多字节乘法--汇编实现原理

       乘法的本质是加法,乘法是加法的简便运算。但是如果纯粹用加法,加的次数太多,例如,358*24,即使用358作加法,也要24次。多字节乘法与珠算的“空盘前乘法”类似,是手工算法的变种。   &n...

金蝶K3采购订单序时簿过滤条件的执行状态分别是什么意思?

【概述】 未完全到货:【数量】-【收料数量】>0的单据 未完全入库:【数量】-【入库数量】>0的单据 未完全开票:【数量】-【开票数量】>0的单据 未完全付款:【价税合计】-【付款关联金额】>0的单据 完全付款: 【价税合计】-【付款关联金额】=0的单据...

ios5越狱及其注意事项

ios最新已经是ios5.0.1了,其实升级系统也没啥大好处,新系统一般要过一段时间才能越狱。当然,ios5.0.1越狱已经很成熟了。 ios5个人感觉有两个比较大的更新 1、iCloud功能,但是个人认为有泄露个人隐私的可能 2、通知栏有比较大的改变,现在搞的有点像And...

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

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

VS C#错误 未能找到类型或命名空间名称"xxxxxx"的真正原因

问题描述: 明明已经引用了项目(或DLL),但一编译就提示:未能找到类型或者命名空间。 根本原因还是引用的问题,引用错了,然后VS在这上面提示又不够智能 第一种可能: 这种可能性很好排查,A项目所使用的.net版本为3.5,B项目为4.0,那么A引用B是肯定要出事的 而错误提示就是那坑爹的未能找到类...

发表评论

访客

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