居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
const
 TIMER_ID = 200;
type
 TForm1 = class(TForm)
    Label1: TLabel;
    btkilltime: TButton;
    btsettime: TButton;
    procedure Button1Click(Sender: TObject);
    procedure btkilltimeClick(Sender: TObject);
    procedure btsettimeClick(Sender: TObject);
 private
    { Private declarations }
 public
{ Public declarations }
// WM_TIMECHANGE只在用户手动改变系统时间时才会产生作用,且只需直接定义就起作用。
    procedure WMTIMECHANGE(var Message: TWMTIMECHANGE); message WM_TIMECHANGE;
// WM_TIMER需配合KillTimer和SetTimer才能起作用;它保持与系统时间同步触发事件;
    procedure WMTimer(var Message: TWMTimer); message WM_TIMER;
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMTIMECHANGE(var Message: TWMTIMECHANGE);
begin
 ShowMessage(‘sss‘);
end;

procedure TForm1.WMTimer(var Message: TWMTimer);
begin
   Label1.Caption:=TimeToStr(now);
end;

procedure TForm1.btkilltimeClick(Sender: TObject);
begin
// KillTimer作用:向WINDOWS删除时间消息;参数200必须与SetTimer中参数200保持一致,此参数代表所注册的消息ID;
KillTimer(self.Handle, 200); // KillTimer(self.Handle, TIMER_ID);
end;

procedure TForm1.btsettimeClick(Sender: TObject);
begin
   // SetTimer作用:向WINDOWS注册时间消息;参数1000代表每隔1秒触发一次WM_TIMER消息;
 SetTimer(self.Handle, 200, 1000, nil); // SetTimer(self.Handle, TIMER_ID, 1000, nil);
end;

end.

参考:http://www.cnblogs.com/key-ok/p/3417728.html

时间: 2024-09-30 19:07:47

居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)的相关文章

linux 改变系统时间

date  查看系统时间 date -s 04/05/16  日期设置成2016年4月5日 date -s 15:03:32  日期设置成2016年4月5日15:03:32 上述两步可以直接写成这样一句  date 0405161503.32 clock --systohc   用系统时间来同步硬件时间

Linux 永久改变系统时间

Centos系统,必须同时修改系统时间和硬件时间,才可以保证修改有效,单纯的使用date命令修改系统时间,是立即生效,重启后系统还原.具体操作如下: 1.date {查看目前本地的时间}2.hwclock --show {查看硬件的时间}3.如果硬件时间和系统时间不同,那就对硬件的时间进行修改4.hwclock --set --date '014-12-15 15:15:15' {设置硬件时间为14年12月15日15点15分15秒}5.hwclock --hctosys {设置系统时间和硬件时间

录像过程中系统时间改变了,怎么避免带来的悲剧

在android系统上,我们知道改变系统时间的方法有两种,一种就是通过再设置应用里面设置日期时间,第二种就是通过网络后台同步时间,在手机平板上这两种是比較多的,当然作为车载设备.一般还会添加用GPS时间来同步系统时间. 系统时间改变有这么几种方式.可是在录像过程中系统时间改变了,会有什么危害呢? 通过笔者的实验.假设開始录像是2014年5月20日10点整開始,过了一分钟.添加通过网络已经同步改动了系统时间到2014年7月1日,那么即使这个录像文件实际上仅仅录了5分钟.我们回放这个文件的时候显示的

CSS手动改变DIV高宽

本实例代码可以使DIV可以手动改变大小 效果体验:http://hovertree.com/code/css/resize.htm 代码如下: <!DOCTYPE html> <html> <head><title>何问起</title><base target="_blank" /> <style> div { background-color:#f0f0f0; border:solid red 1p

将二维数组输出到excel,显示带行头的表以及列能手动改变宽度

将二维数组输出到excel,例子在我的helpfunction里面 简单的例子在这:http://www.blogjava.net/hezhi/articles/POI.html Poi包在这里下载:http://mvnrepository.com/artifact/org.apache.poi/poi/3.11-beta3 显示带行头的表以及列能手动改变宽度 http://erbo2008.iteye.com/blog/547182

好产品,只帮用户做好一件事

我想用一句话作为本章的开场“产品道,非常道!”这六个字需要我们慢慢体会. 作为一个产品人,在当今这个社会可真是不好当,他需要你具备的条件是很多,这些条件中最重要的一条大家都知道,找到适合自己的一件事情,然后用心坚持做下去,然后呢,用时间来证明这件事情的价值,只有这件事情有了价值,产品人才有了价值. 在现在这个社会,找件事情做是很容易的,但是找个好事情不容易,自己能发明一个嘛?很难.或者跟别人做一下,也很费劲.整个一堆事情就出来了,你会发现到头来这所有的所有都非常的难. 我有一个毛病,经常会忘记一

如何设置ssh安全只允许用户从指定的IP登陆

原文链接: 如何设置ssh安全只允许用户从指定的IP登陆 由于开发上传文件需要  在服务器上开启  允许用户名和密码ssh登录.这样不太安全.百度后参考文章现在ssh用户名和密码登录的ip. 登录服务:首先 cat /etc/passwd 查看哪些用户可以登录: [[email protected] webuser]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x

如何只授予用户查看存储过程定义的权限

有个网友问我,如何授予某个用户只能查看某些存储过程的定义权限,而不能让用户去修改.执行存储过程.看似简单的问题,却因为从没有碰到这样的需求.花了点时间才梳理.总结清楚. 关于ORACLE账号的权限问题,一般分为两种权限: 系统权限: 允许用户执行特定的数据库动作,如创建表.创建索引.创建存储过程等 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列.执行存储过程等 像这种查看存储过程定义的权限为对象权限,但是我们还是首先来看看关于存储过程的系统权限吧: SQL> SELECT *

(转)wcf client与webservice通信(-)只修改配置文件而改变服务端

http://www.cnblogs.com/yiyisawa/archive/2008/12/16/1356191.html 问题: 假设有一个大型系统新版本使用wcf 作为服务端,生成wcf client 调用可以调用正常. 那如果当wcf 服务端出现问题或其他的原因我想再用回以前老版本的webservice或是jms server ,但客户端调用还是通过wcf client 调用.只通过更改配置来实现. 一.web service项目,添加一个普通service class .代码如下: