windows程序如何实现精准定时

1. 精度不高

windows98大概是55ms,Windows NT大概是10ms。

2. WM_TIMER消息可能无法及时处理

WM_TIMER消息和其他消息一样,存放在正常的消息队列之中。如果程序处理其他消息,用了太长的时间,就耽误了WM_TIMER消息的处理,从效果上看就相当于定时器来晚了。

3. WM_TIMER消息可能会有遗漏

这样一来,如果一个windows程序在时间方面有苛刻的要求(例如,测试仪之类的软件),怎么办呢。

“小兵以太网测试仪”采用的是如下的笨方法。

这种方法非常简单,但也确实有效。下面是此方法的伪代码。

interval=x; //所需的时间间隔

next_do_work_time=当前时间;

while (!need_stop)

{

do

{

cur_time=当前时间;

} while (!need_stop && cur_time

if (need_stop) break;

DO_WORK();

next_do_work_time+=interval;

}

需要说明的是,这种方法是很消耗CPU的 :)

Parallels Desktop停止Windows程序详细操作步骤

02/05 17:09
Parallels Desktop停止Windows程序详细操作步骤 在Parallels Desktop中要立即停止Windows与所有打开的Windows程序,请进行以下当中的一项操作: 点击菜单栏中 Parallels 图标,按选项 (Alt) 键,按住该键选择 功能 > 停止 . 如果在屏幕顶部可以看见 Parallels Desktop 菜单栏,请选择 虚拟机 > 停止 . 重要提示: 当您使用此方法停止 Windows 时,所有数据和进度将不被保存. 如果 Windows 设置为出

windows系统下oracle数据库定时自动备份

02/04 15:22
实现目的:为避免数据丢失或错误,对数据库数据的定时备份 实现方式:oracle导出+windows 任务 完成 学习方法:先知其然,后知其所以然 实现过程: 1. 建立文件 backup.bat (自定义文件名.bat) @echo off REM ########################################################### REM # Windows Server 2003下Oracle数据库自动备份批处理脚本 REM

Win10系统打开任务计划程序用它来定时自动运行程序

11/20 23:41
任务计划程序对不少人来说是一个重要的工具,小编就曾很长一段时间依靠它来定时自动运行程序。如今Win10系统已经发布,Win10上的任务计划程序又该如何打开呢?跟小编一起来看看。 操作步骤 第一步、鉴于更多的朋友习惯于鼠标操作,现在我们打开Win10开始菜单,再点击所有应用,在所有应用中拖动滚动条,找到并点开“控制面板”。 第二步、在控制面板界面,选择大图标查看方式(习惯之后您会发现非常方便),找到并点击“管理工具”。 第三步、在管理工具界面,在右侧窗口找到并双击“任务计划程序

Win10系统如何打开任务计划程序用它来定时自动运行程序

07/16 14:56
任务计划程序对不少人来说是一个重要的工具,小编就曾很长一段时间依靠它来定时自动运行程序.如今Win10系统已经发布,Win10上的任务计划程序又该如何打开呢?跟小编一起来看看. 操作步骤 第一步.鉴于更多的朋友习惯于鼠标操作,现在我们打开Win10开始菜单,再点击所有应用,在所有应用中拖动滚动条,找到并点开"控制面板". 第二步.在控制面板界面,选择大图标查看方式(习惯之后您会发现非常方便),找到并点击"管理工具". 第三步.在管理工具界面,在右侧窗口找到并双击&q

Win8系统如何定时运行程序?Win8系统定时运行程序的方法

07/08 01:07
Win8系统如何定时运行程序?Win8系统虽然已经出来很久了,但是很多功能仍然鲜为人知,比如设定某一时间启动某些程序,这个功能很好用,如果我们需要经常打开一些软件,就可以进行这样的设定,但是Win8系统该如何定时运行程序呢?下面小编就给大家带来Win8系统定时运行程序的方法,一起来看看吧! 方法/步骤: 1.按下键盘上的组全键盘Win+R打开运行窗口,在打开的运行窗口中输入命令Control Schedtasks. 2.输入完成后按回车键执行命令会打开如下窗口. 3.选择“操作”——“创建基本任

windows程序设计编写Hello world程序教程

04/10 13:40
用Hello world例子说明windows系统设计的实践应用.过来人经验,希望能帮助到有需要的人,编辑不好请见谅. 方法/步骤 打开Visual C++,主界面如图所示 选择“文件”.“新建”,新建工程,命名为“hello”,选择“Win32 Application”,自行设置位置,选择“创建新的工作空间”,平台选择“Win32”,最后点击“确定” 在弹出来的窗口中选择“确定” 然后,新建C++文件.选择“文件”.“新建”,在新建窗口中在文件栏,命名为“helloworld”,选择“添加到工

用winsw将Windows程序作为系统服务自动运行

11/06 21:55
winsw介绍 有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了.但是如果我们想运行一些命令行程序的话就没这么方便了. 原来我的做法是写一个bat脚本,然后将它的快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,这样就可以开机自启了.不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一

在支付宝小睡眠程序中怎么改变定时关闭的时间?

04/22 06:27
小睡眠是支付宝中的一个功能,我们开启之后,设置时间为三十分钟,那么三十分钟过后应用就会关闭,可是如何修改定时关闭的时间呢?今天,小编就教大家在支付宝小睡眠功能中怎么改变定时关闭的时间.具体如下:1. 我们在手机上打开支付宝,然后在界面中找到[小程序收藏],在收藏中打开小睡眠,如果没有,我们先要将这一程序收藏到我的收藏中,方便打开,如图.2. 之后在"我的收藏"栏中点击[小睡眠],如图.3. 之后是程序的进入界面,如图.4. 之后我们在程序的界面可以看到默认的时间为三十分钟,我们点击时间

怎么在微信中利用小程序向朋友发送定时消息

05/14 18:14
当我们想在某个时间点给朋友发送消息时,可以借用小程序完成,这样可以防止我们错过发送时间.那么该利用什么小程序完成?今天小编就来分享一下经验.具体如下:1.首先,登录微信进入首页,点击底部"发现",再点击"小程序".2.在搜索框中搜索"蜗牛传书".3.打开蜗牛传书小程序.4.点击页面中的"微信登录".5. 在弹出窗口中点击"允许".6.在页面底端点击"写一封信".7.在页面中选择相应送达时