精华内容
下载资源
问答
  • windows7计时器
    2021-03-31 17:11:10

    一、需求描述

    C++在Windows下,通过使用QueryPerformanceCounter可以实现毫秒级的高精度计时

    题主在使用过程中主要有两个方面:秒表(计算某段代码的执行时间)和计时器(相当于sleep,但精度更高)

    二、实现代码

    1、秒表:计算某段代码的执行时间

    #include <iostream>
    #include <stdio.h>
    #include <windows.h>
    using namespace std;
    int main()
    {
    	//初始化计时器
    	LARGE_INTEGER nFreq;
    	LARGE_INTEGER nBeginTime, nEndTime;
    	double time = 0;
    	QueryPerformanceFrequency(&nFreq);
    	
        //取开始执行时间
    	QueryPerformanceCounter(&nBeginTime);
    		
        //这里填写需要执行的代码
    			
        //取结束执行时间
    	QueryPerformanceCounter(&nEndTime);
        //计算时间差
    	time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) * 1000 / (double)nFreq.QuadPart;
    		    
    	system("pause");
    	return 0;
    }

    2、计时器:sleep一段时间

    #include <iostream>
    #include <stdio.h>
    #include <windows.h>
    #include <thread>
    using namespace std;
    //设置时间间隔,单位:ms
    const int nIntervalTime = 40;
    int main()
    {
    	//初始化计时器
    	LARGE_INTEGER nFreq;
    	LARGE_INTEGER nBeginTime, nEndTime;
    	double time = 0, Residual = 0, dThisTime = nIntervalTime;
    	QueryPerformanceFrequency(&nFreq);
    	while (true)
    	{
            //取开始执行时间
    		QueryPerformanceCounter(&nBeginTime);
    		do
    		{
                //取结束执行时间
    			QueryPerformanceCounter(&nEndTime);
                //计算时间差
    			time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) * 1000 / (double)nFreq.QuadPart;
    		    //通过线程的等待来降低循环次数,达到减少CPU占用的目的
    			if (time + 1 < nIntervalTime)
    				this_thread::sleep_for(chrono::milliseconds((int)(nIntervalTime - time - 1)));
    		} while (time < nIntervalTime);//当时间小于本次预计的时间时继续循环
    
            //这里填写定时结束后需要执行的程序
    
    	}
    
    	system("pause");
    	return 0;
    }

    3、自适应计时器:sleep一段时间,根据代码执行时间,尽量保证代码固定频率执行(使用场景举例:某段代码需要以固定的时间间隔执行)

    #include <iostream>
    #include <stdio.h>
    #include <windows.h>
    #include <thread>
    using namespace std;
    //设置时间间隔,单位:ms
    const int nIntervalTime = 40;
    int main()
    {
    	//初始化计时器
    	LARGE_INTEGER nFreq;
    	LARGE_INTEGER nBeginTime, nEndTime;
    	double time = 0, Residual = 0, dThisTime = nIntervalTime;
    	QueryPerformanceFrequency(&nFreq);
    	while (true)
    	{
            //取开始执行时间
    		QueryPerformanceCounter(&nBeginTime);
    		
    		//这里填写需要执行的代码
    		
    		do
    		{
                //取结束执行时间
    			QueryPerformanceCounter(&nEndTime);
                //计算时间差
    			time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) * 1000 / (double)nFreq.QuadPart;
    		    //通过线程的等待来降低循环次数,达到减少CPU占用的目的
    			if (time + 1 < dThisTime)
    				this_thread::sleep_for(chrono::milliseconds((int)(dThisTime - time - 1)));
    		} while (time < dThisTime);//当时间小于本次预计的时间时继续循环
            //残余时间可能为正也可能为负
    		Residual = dThisTime - time;
            //根据设置时间间隔和上一次执行的残余时间,计算下一次执行的时间
    		dThisTime = nIntervalTime + Residual;
    	}
    
    	system("pause");
    	return 0;
    }

    三、参考文档:

    https://blog.csdn.net/alzzw/article/details/107780493

    更多相关内容
  • windows桌面计时器小工具,方便计时(比如会议计时,到点提醒;评审时间计时,到点提醒),可以设置计时时间等等
  • 当我们使用计算机下载...这是根据WIN7系统的两种方法.方法一:第1步: 在我们的计算机上创建快捷方式第2步: 创建后,它将打开到如图所示的页面第3步: 在此界面中输入: [在19:00关闭-s]在目标位置.注: 在19:00,计算机...

    403addf7877035fb4067c0613cb23318.png

    当我们使用计算机下载内容或执行其他操作时,我们希望在操作完成后自动关闭计算机. 确实有一些软件可以执行此操作,但是如果您不想安装其他软件,还可以使用系统自带的定时关机功能,如何对其进行设置?这是根据WIN7系统的两种方法.

    方法一:

    第1步: 在我们的计算机上创建快捷方式

    6513e848a58620a6b68300066d3b12ae.png

    第2步: 创建后,它将打开到如图所示的页面

    3f8df492c5b70562c3287620a404d0c5.png

    第3步: 在此界面中输入: [在19:00关闭-s]在目标位置.

    e0f32b0eb63f570553b138a9c16e2035.png

    注: 在19:00,计算机在19:00关闭. 将来,它会在此时自动关闭. 您可以根据自己的实际情况选择

    c0c9092b0c2971d71f7f9345e4dc714e.png

    第4步: 输入快捷方式的名称

    c5a0ec6c40dd5258b7c9d8f1f722b68d.png

    第5步: 确认后. 显示[关闭]的快捷方式.

    如果您想在19:00定期关闭,请双击[关闭]

    744e9ceae33e9dc32dc7e9c8871d1634.png

    a713ecb324cee70749eff1d0439627b4.png

    双击关闭,将出现一个小框,它会在闪烁后自动关闭.

    取消自动关机

    取消关机的设置方法类似. 第二步是输入的命令不同. 输入: [shutdown -a]与设置shutdown相同.

    aadfab0b22936bf31032fc21e1041d73.png

    方法二: 这是计算机随附的自动关机设置方法

    第1步: 单击“菜单”-“附件” ---“系统工具”

    2444538c166af45a8d36b3a95ab7e184.png

    15504541474338_2.png

    第2步: 在“系统工具”中选择“任务计划程序”

    b751c9f2da9a316746a47547bd62de6b.png

    步骤3: 在右侧的操作中,选择[创建基本任务]

    0593c7fe87a12d768c093a8213eba7db.png

    第四步: 您可以填写您想填写的名称[任务名称],我在这里填写“定时关机”

    a170d9573754f5343fd163d25b6e7e0a.png

    第五步: 选择任务执行时间

    7263f2d140b94fa8d0ae5cbaebec55bc.png

    对于每天需要定期关闭的用户,您可以选择“每日”;可以选择每周关闭几天的“周”在哪里设置定时关机,而无需关闭;至于“每月”,则不建议使用,因为时间跨度太大,大多数人不使用此功能. 我的选择是“每天”;

    aa19558c3259ad5e51bd92578c7e6c97.png

    第6步: 在时间框中填写计时器关闭的时间;

    52a91484359f0a80c68c04527bfda608.png

    步骤7: 选择[启动程序],输入: C: WindowsSystem32shutdown.exe

    关键是找到shutdown.exe,该文件取决于个人安装系统的位置,可以从浏览器中找到. 然后,在添加的参数中输入“ -s”或“ -f -s”,-s: 关闭命令,-f: 强制关闭正在运行的应用程序. 提示: 请勿输入双引号.

    679d15ea1a862de5557da0844a548b7c.png

    9abbe58543efcfbbd9524d2ddbc0cbb6.png

    单击完成在哪里设置定时关机,出现主界面;您可以查看在计划任务库中添加的任务,还可以更改,删除所选任务,并在更改时选择属性.

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/jisuanjixue/article-197064-1.html

    展开全文
  • windows桌面程序,倒计时器,仅120K, 绿色免安装。 久坐伤身,注意休息! 功能如下: 1、倒计时完成自动锁屏。 2、屏幕锁屏后,自动重新开始倒计时。 3、可配置倒计时时间及倒计时显示颜色。
  • 一款以家庭教师为主题的Windows7小工具倒计时器,以天为单位
  • qt5.3 windows实现计时器

    2017-11-02 15:59:59
    qt 实现炫酷计时器,可以自由缩放大小,支持4K显示,正计时和倒计时,还有圆环进度条。
  • Outta Timer是适用于Windows的多功能Egg计时器样式应用程序。 该程序基于.NET框架,允许用户设置单个倒数计时器,保存常用倒数计时器列表或从零开始递增计数。 计时器播放列表可以按顺序运行,非常适合诸如演示文稿...
  • 获得CPU时钟晶振的计时器。该软件包用VC6.0开发,以cdecl的方式提供C编译器生成的dll。源码分为4部分:WinTimerDll,封装了RDTSC汇编实现过程的DLL源码,提供了3个API函数;WinTimerTest,加载WinTimerDll生成的DLL...
  • 使用计时器的三种方法: 如果程序在整个运行过程中需要一一个 计时器,在WinMain函数中或处理WM_ CREATE消息时,调用SetTimer函数;在离开WinMain函数时或是处理WM DESTROY消息时,调用KillTimer 函数。基于调用...

    使用计时器的三种方法:
    如果程序在整个运行过程中需要一一个 计时器,在WinMain函数中或处理WM_ CREATE消息时,调用SetTimer函数;在离开WinMain函数时或是处理WM DESTROY消息时,调用KillTimer 函数。基于调用SetTimer参数的不同,可采取以下三种方法之一使用计时器。
    方法一:SetTimer (hwnd, 1, uiMsecInterval, NULL) ;第一个参数是窗口句柄,它指向接收WM_TIMER消息的窗口程序。第二个参数是一个设计器的ID,他不能为0。第三个三叔是一个32位的无符号整数,它指定以毫秒为单位的时间间隔。
    你可以在任何时刻(甚至当处理WM_ TIMER消息时)停止WM TIMER消息,方法如下:KillTimer (hwnd, 1) ;
    如果你需要设置多个计时器,那么每个计时器应使用不同的ID,wParam的值将帮助区分送到窗口过程的WM_TIMER消息。为了使程序易于理解,可以使用#define指令定义不同的计时器ID。
    #define TIMER_ SEC 1
    #define TIMER_ MIN 2
    然后通过两个SetTimer函数调用分别设置两个计时器:
    SetTimer (hwnd, TIMER
    SEC,1000,NULL) ;
    SetTimer (hwnd, TIMER_ MIN, 60000,NULL) ;

    WM_ TIMER的处理逻辑如下:
    	case WM_ _TIMER:
    	   switch (wParam)
    	case TIMER_ SEC: ;
    		[每秒钟一次的处理]
    	break;
    	case TIMER_ MIN:
    		[每分钟一次的处理]
    	break;
    	}
      return 0;
    

    方法二:受到计时器消息的函数称为回调函数,这是程序中被windows调用的函数。你告诉Windows这个函数的地址,windows这个函数的地址,Windows以后就会调用这个函数。
    SetTimer不是唯-使用回调功能的Windows函数。CreateDialog 和DialogBox函数(将在第11章讨论)都使用回调函数处理对话框的消息:有几个Windows 函数(EnumChildWindow、EnumFonts、 EnumObjects、 EnumProps 和EnumWindow)会传递枚举信息到回调函数;还有几个不常用的函数GrayString. LineDDA和SetWindowHookEx)也要求使用回调函数功能。
    类似于窗口过程,回调函数必须定义为CALLBACK类型,因为Windows是从程序的代码空间以外调用这个函数的。送到回调函数的参数和从回调函数返回的数据是由该函数要实现的功能所决定的。当回调函数与计时器同时使用时,它的参数实际上与窗口过程的参数一一样的,只不过他们的定义是不同的。但是,计时器的回调函数并不返回数值给windows。
    我们给回调函数起名为TimerProc。(可选择任何名字,只要不与其他的函数同名。)这个函数只处理WM_TIMER消息:
    VOID CALLBACK TimerProc (HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)
    {
    [处理WM_ TIMER消息]
    }
    TimerProc函数的hwnd 参数是你调用SetTimer 时指定的窗口句柄。Windows只发送WM__TIMER消息到TimeerProc,所以消息参数总是WM_ TIMER。iTimerID值是计时器的ID。dwTime是从GetTickCount函数返回的值,它记录了自从Windows启动到现在所逝去的毫秒数。
    正如我们在BEEPER1看到的,第一种设置计时器的方法要求以如下方式调用SetTimer
    函数:SetTimer(hwnd,iTimerID, iMsecInterval, NULL) ;
    而使用回调函数处理WM__TIMER消息时,SetTimer函数的第四个参数必须设定为回调函
    数的地址: SetTimer (hwnd, iTimerID, iMsecInterval, TimerProc) ;

    方法三:第三种设置计时器的方法与第二种方法相似,只不过SetTimer的hwnd参数被设置为NULL,而且第二个参数(正常情况下是计时器的ID)被忽略了。此外,这个函数会返回计时器的ID:
    iTimerID = SetTimer (NULL, 0, wMsecInterval, TimerProc) ;
    如果SetTimer函数返回的iTimerID为0,表示没有可用的计时器,这样的情况是极罕见的。
    传给KillTimer的第一个参数(通常是窗口的句柄)也必须是NULL。计时器的ID必须是从SetTimer返回的值:
    KillTimer (NULL, iTimerID) ;
    传给TimerProc计时器函数的hwnd参数也将是NULL。这种设置计时器的方法很少用到。如果在程序中,需要在不同的时刻调用很多次SetTimer,但又不想记录哪些计时器ID已经被使用过,那么这种方法可能会派上用场。

    展开全文
  • 适用于Windows,OS X和Linux的高分辨率计时器。 性能计时器对于分析和优化代码很有用,但是使用计时器通常会涉及系统特定的调用。 因此,我将它们包装起来并放在一个简单的API后面。 整合到您的项目中 建立并链接...
  • 我运行哪个文件? 您需要运行“ Launcher.py”来创建会话锁定检查,以避免多个实例发生冲突。 会话锁定文件完全不影响throwOffWD文件。... 当看门狗计时器未通过检查时,将使用此方法,它将记录发生故障的时间和日期
  • 非常好用的会议用计时器软件、演讲用计时软件,ppt放映计时软件,倒计时软件,简单,高效、好用 ,会议用倒计时器软件演讲用倒计时软件ppt倒计时软件
  • 趣味口算计时器.zip

    2020-03-21 10:48:07
    微软 Windows XP,Windows 7/8,Windows 10等支持微软 .NET Framework 4.0环境操作系统。 主要功能: 1. 可以自定义倒计时时间,精确到秒。 2. 可以自定义随机数的最大值范围。 3. 程序小巧、简单易用。 ...
  • 1、基于 Windows 的标准计时器(System.Windows.Forms.Timer) 2、基于服务器的计时器(System.Timers.Timer) 3、线程计时器(System.Threading.Timer) 一、基于 Windows 的标准计时器(System.Windows.Forms.Timer) 首先...
  • Windows计时小工具

    2016-03-18 17:59:36
    Windows计时小工具,很实用
  • 计时器-项目开发

    2021-03-30 12:34:38
    迷人的可视化帮助我的女儿了解时间的流逝。
  • 在.NET中有三种计时器: 一、 System.Windows.Forms命名空间下的Timer控件,和所在的Form属于同一个线程。Timer控件只有绑定了Tick事件和设置Enabled属性为True之后才会自动计时,Stop()方法,Start()方法启动计时器...
  • 秒表计时器开始计时代码For whatever reason, Windows did not include alarms, timers, and stopwatches until Windows 8 rolled around. Windows 10 improves on those features, and this basic function now ...
    秒表计时器开始计时代码

    秒表计时器开始计时代码

    For whatever reason, Windows did not include alarms, timers, and stopwatches until Windows 8 rolled around. Windows 10 improves on those features, and this basic function now works much like it does on every other operating system out there.

    无论出于何种原因,Windows 8推出之前,Windows都不包括警报,计时器和秒表。 Windows 10在这些功能上进行了改进,并且此基本功能现在的工作方式与在其他所有操作系统上一样。

    设置闹钟 (Set an Alarm)

    Alarms work exactly like you expect. You set a time (and days) for the alarm to go off, pick an alarm sound, give the alarm a label, and you’re off to the races.

    警报的工作与您期望的完全一样。 您设置了闹钟响起的时间(和天数),选择了闹钟声音,给闹钟贴上标签,然后您便可以参加比赛了。

    Hit Start, type “alarms” into the search box, and then click the “Alarms & Clock” result.

    单击开始,在搜索框中键入“警报”,然后单击“警报和时钟”结果。

    You can turn alarms that already exist on and off by clicking the toggle to their right.

    您可以通过单击右侧的开关来打开和关闭已存在的警报。

    To create a new alarm, click the plus (+) button in the bottom right corner.

    要创建新警报,请单击右下角的加号(+)按钮。

    Use the scroll wheel to set a time, and then click the links under each of the remaining items to configure an alarm name, whether the alarm repeats (and on what days), the sound to use, and how long hitting the snooze button gives you. When you’re done, click the “Save” button.

    使用滚轮设置时间,然后单击其余所有项目下的链接以配置警报名称,警报是否重复(以及在哪一天重复),要使用的声音以及按贪睡按钮能持续多长时间您。 完成后,单击“保存”按钮。

    When you’re done, your new alarm is automatically enabled, but you can turn it on or off like any other alarm.

    完成后,新警报将自动启用,但您可以像其他任何警报一样将其打开或关闭。

    When your alarm goes off, you’ll receive a notification above the Windows system tray. Click the “Dismiss” button to stop the timer sound or the “Snooze” button to snooze the clock for the preset amount of time. You can even use the dropdown to adjust the amount of snooze time you get.

    闹钟响起时,您会在Windows系统托盘上方收到通知。 单击“关闭”按钮以停止计时器声音,或单击“延后”按钮使时钟延后预设的时间。 您甚至可以使用下拉菜单来调整您的小睡时间。

    To delete an alarm, click the “Select Alarms” button in the bottom-right of the “Alarms & Clocks” window.

    要删除警报,请单击“警报和时钟”窗口右下方的“选择警报”按钮。

    Select the alarms you want to delete, and then click the “Delete” button.

    选择要删除的警报,然后单击“删除”按钮。

    设定计时器 (Set a Timer)

    Timers are another welcome addition to Windows. In the “Alarms & Clock” app, switch to the “Timer” tab. Here, you can see any timers you’ve already set up (or a default timer if it’s the first time you’ve visited the app).

    计时器是Windows的另一个受欢迎的功能。 在“闹钟和时钟”应用中,切换到“计时器”标签。 在这里,您可以看到已经设置的任何计时器(如果是第一次访问该应用程序,则可以看到默认计时器)。

    Click the “Play” button to start a timer. The “Reset” button serves a dual function. If the timer is not running, it opens an edit page where you can change the timer. If the timer is running, the “Reset” button resets the timer.

    单击“播放”按钮以启动计时器。 “重置”按钮具有双重功能。 如果计时器未运行,它将打开一个编辑页面,您可以在其中更改计时器。 如果计时器正在运行,则“重置”按钮将重置计时器。

    Clicking the “Expand” button (the double-headed arrow) expands the timer to fill the full screen, as shown below. Click the “Expand” button again on this screen to return to the normal view.

    单击“扩展”按钮(双向箭头)以展开计时器以填充全屏,如下所示。 在此屏幕上再次单击“扩展”按钮以返回到普通视图。

    To create a new timer, click the plus (+) button in the bottom right corner.

    要创建新的计时器,请单击右下角的加号(+)按钮。

    Use the scroll wheel to set a time, and then click the link under “Timer name” to name your timer. Unlike with the alarm feature, you cannot set different sounds for different timers. When you’re done, click the “Save” button.

    使用滚轮设置时间,然后单击“计时器名称”下的链接来命名您的计时器。 与警报功能不同,您不能为不同的计时器设置不同的声音。 完成后,单击“保存”按钮。

    When your timer finishes, you’ll receive a notification above the Windows system tray. Click the “Dismiss” button to stop the timer sound.

    计时器结束后,您会在Windows系统托盘上方收到通知。 单击“关闭”按钮以停止计时器声音。

    To delete a timer, click the “Select Alarms” button in the bottom-right of the “Alarms & Clock” window.

    要删除计时器,请单击“闹钟和时钟”窗口右下方的“选择闹钟”按钮。

    Select the timers you want to delete, and then click the “Delete” button.

    选择要删除的计时器,然后单击“删除”按钮。

    设置秒表 (Set a Stopwatch)

    The stopwatch is super simple to use. Unlike alarms and timers, you only have one stopwatch.

    秒表使用起来非常简单。 与警报和计时器不同,您只有一个秒表。

    While the stopwatch is stopped, you can click the “Reset” button to the watch’s left to reset the clock to 00:00. To start the watch, click the “Play” button.

    当秒表停止时,您可以单击手表左侧的“重置”按钮以将时钟重置为00:00。 要启动手表,请单击“播放”按钮。

    Clicking the “Expand” button (the double-headed arrow) expands the stopwatch to fill the full screen, as shown below. Click the “Expand” button again on this screen to return to the normal view.

    单击“扩展”按钮(双向箭头)将使秒表扩展为全屏显示,如下所示。 在此屏幕上再次单击“扩展”按钮以返回到普通视图。

    While the stopwatch is running, you can pause the watch, or click the flag icon to record a lap time while leaving the clock running.

    当秒表运行时,您可以暂停手表,或单击标志图标以记录一圈时间,同时保持时钟运行。



    “Alarms & Clock” is a welcome addition to Windows. Unfortunately, it isn’t fully integrated into the system, which means that you still have to use it as a standalone app. Therefore, you might want to pin it to the Start menu or taskbar if you plan to use it frequently.

    “警报和时钟”是Windows的一个受欢迎的补充。 不幸的是,它没有完全集成到系统中,这意味着您仍然必须将其用作独立应用程序。 因此,如果您打算经常使用它,则可能需要将其固定到“开始”菜单任务栏

    翻译自: https://www.howtogeek.com/225211/how-to-set-timers-alarms-and-stopwatches-in-windows-10/

    秒表计时器开始计时代码

    展开全文
  • Windows系统高精度计时器 原理:联合使用QueryPerformanceFrequency和QueryPerformanceCounter获取高精度时间; 平台:vc++6/vc++2008
  • 悬浮计时器

    2013-10-15 19:13:08
    悬浮计时器,可以实现循环定时和提醒功能,英文版
  • windows7用的,非常漂亮的透明计时器
  • 熟知Windows7多功能计时器应用
  • 计时器, 倒计时提醒。 一个简单的delphi 6 7 应用,源码代码可参考参考。用主板喇叭发声。windows应用程序。
  • vb windows编程计时器

    2010-04-28 12:45:34
    自己 用vb windows 编程的一个 计时器,很实用。
  • 是一个跨linux 和windows计时器,C++,windows使用VS2010,Linux下的Makefile已经包含有,本计时器是粗略的计时器,很简单,很容易看懂,可以继续改良。
  • 两个小工具分享(包括:毫秒级电脑计时器+毫秒级电脑计时器),解压后,点击可以直接运行,大小只有300k不到,无病毒。
  • 是一个跨linux 和windows计时器,C++,windows使用VS2010,Linux下的Makefile已经包含有,本计时器是粗略的计时器,很简单,很容易看懂,可以继续改良。
  • 微秒和毫秒C#计时器

    2021-04-11 04:41:28
    MicroTimer:C#中的微秒和毫秒计时器,其用法与.NET System.Timers.Timer类似。
  • 该程序计时上存在误差,1小时大约慢1分钟左右,由于该程序的功能仅是记录学习时间,因此不对程序进行优化。该程序随机选择背景画面,仅有暂停一项功能,根据每天的学习时间之作折线图的功能尚未提上议题。仅供娱乐~
  • 活动时间用 JavaFX 编写的 Mob 计时器 用于计时 Mob 会话跑步下载 MacOSX、Windows 或 Linux (Ubuntu/Debian) 安装程序,安装并运行默认时间为 7 分钟单击屏幕中央以启动计时器工具栏暂停暂停当前用户跳过以跳至下一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,888
精华内容 17,955
热门标签
关键字:

windows7计时器