为什么我会收到多个同类窗口消息?
发布时间:2020-12-14 05:31:21 所属栏目:Windows 来源:网络整理
导读:我正在尝试回复一些窗口和应用程序消息,但我多次得到它们. 例如,当使用WM_TIMECHANGE更改系统日期时,我编写以下代码以显示消息框. WMTimeChange被执行多次,我看到多个(大多数时候是两三个)消息框一个接一个地出现.也许,我错过了什么? unit Unit1;interfaceu
我正在尝试回复一些窗口和应用程序消息,但我多次得到它们.
例如,当使用WM_TIMECHANGE更改系统日期时,我编写以下代码以显示消息框. WMTimeChange被执行多次,我看到多个(大多数时候是两三个)消息框一个接一个地出现.也许,我错过了什么? unit Unit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs; type TForm1 = class(TForm) protected procedure WMTimeChange(var Msg: TMessage) ; message WM_TIMECHANGE; end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.WMTimeChange(var Msg: TMessage); begin showmessage('Date/Time has changed!'); end; end. 在Windows XP中测试. 编辑:只是为了澄清,我的意图是理解为什么会发生这种情况而不是如何绕过多个电话.无论如何,如果无法回答这个问题,我可能会接受一个答案. EDIT2:删除了Delphi标签,因为它似乎不是Delphi问题. 解决方法
你的代码是正确的.听起来好像Windows正在多次发送WM_TIMECHANGE消息.
因此,您可以添加一个小的时间滞后比较,让您的信息每天只有1%触发一次,即或多或少15分钟: type TForm1 = class(TForm) protected FWMTimeChangeTimeStamp: TDateTime; procedure WMTimeChange(var Msg: TMessage) ; message WM_TIMECHANGE; end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.WMTimeChange(var Msg: TMessage); begin if Now-FWMTimeChangeTimeStamp>0.01 then begin showmessage('Date/Time has changed!'); FWMTimeChangeTimeStamp := Now; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 解锁Windows AD帐户并通过命令行分配*临时*密码?
- Windows API一日一练 54 WriteFile和ReadFile函数
- Windows Server 2016-活动目录NTP时间同步
- 基于Active Directory的SAML身份提供程序
- 使用SNMP监视Windows Server
- Shorcut列出Microsoft Windows中的挂起更新
- 如何在不事先知道其本地化名称的情况下使用Windows安全组?
- 如何在Windows中列出用户的所有权限?
- windows-server-2008 – 更新Windows服务器
- Windows – 如何使用DoEvents()而不是“邪恶”?
推荐文章
站长推荐
- 用于.NET 4安装的Windows-7 reboot上的nsis不会继
- Windows SuspendThread不? (GetThreadContext失
- remote – 如何在Windows上使用IPMI?
- win10上安装nginx
- 如何在Windows上设置快速私有Mercurial服务器
- windows – 用于获取信号强度的WLAN API
- windows-server-2008 – 确定哪个应用程序池正在
- 如何通过Windows shell(bat,cmd)获取系统上的驱动
- windows7配置Nginx+php+mysql的详细教程
- 如何在Windows Mobile 6下将Flash游戏嵌入到Wind
热点阅读