Articles of 计时器

Userland中断计时器访问,如通过KeQueryInterruptTime(或类似)

是否有一个“ Nt ”或相似的(即非内核模式驱动程序)函数等价于KeQueryInterruptTime或类似的东西? 似乎没有NtQueryInterruptTime这样的事情,至less我还没有find它。 我想要的是某种相当准确和可靠的单调定时器(因此不是 QPC),它是合理有效的,并且没有溢出的32位计数器的意外,没有不必要的“智能”,没有时区或复杂的结构。 所以理想情况下,我想要一个像64位值timeGetTime 。 它甚至不必是同一个计时器。 有从Vista开始的GetTickCount64 ,这将是可以接受的,但我不想打破XP的支持,只有这样一个愚蠢的原因。 按照这里所示读取0x7FFE0008的四字…好, 工作 …它certificate了实际的内部计数器在XP下是64位(它也是尽可能快的速度),但是meh …让我们不要讨论一下,读取一些未知的,硬编码的内存位置是一种什么样的恶意攻击。 在调用一个人为地愣愣的(将一个64位计数器降低到32位)高级API函数和读取一个原始内存地址之间肯定有一些东西。

类似于.NET中等待定时器

在非托pipeWin32世界中,我习惯于使用CreateWaitableTimer API创build等待定时器,这些定时器可用于同步调用,如WaitForSingleObject ,主要用于WaitForMultipleObjects 。 .NET和C#中的等待定时器必须有一个类比吗?

Windows中的计时器

我遇到SetTimer API 的问题 。 为了好奇,我在delphi的其他选项是什么? 有多媒体计时器 TTimer但它只是SetTimer / KillTimer的一个包装

计时器在Windowsbatch file

有人可以指向我的方式添加一个计时器到Windowsbatch file? 我需要跟踪从批处理开始运行的时间。

在Linux上用C调用asynchronous,定时函数?

Linux上C上最简单,最有效的方法是在一定的延迟之后asynchronous地调用一个函数(比如JavaScript的setTimeout )或者设置一个重复的定时器周期性地调用它(类似于setInterval )? 虽然这个问题适用于Linux,但我希望有一个跨平台的方法。

如何在Python中播放声音而不中断播放音乐/其他声音

我正在python的计时器上工作,当等待时间结束时,这个计时器响起。 我使用下面的代码: from wave import open as wave_open from ossaudiodev import open as oss_open def _play_chime(): """ Play a sound file once. """ sound_file = wave_open('chime.wav','rb') (nc,sw,fr,nf,comptype, compname) = sound_file.getparams( ) dsp = oss_open('/dev/dsp','w') try: from ossaudiodev import AFMT_S16_NE except ImportError: if byteorder == "little": AFMT_S16_NE = ossaudiodev.AFMT_S16_LE else: AFMT_S16_NE = ossaudiodev.AFMT_S16_BE dsp.setparameters(AFMT_S16_NE, nc, fr) […]

计时器是否支持Windows本地API?

Windows本机API是否支持定时器? 我知道Windows上的POSIX实现支持计时器,但我对Windows SDK API感兴趣。

带定时器的Windows服务

我用c#.net中的计时器创build了一个windows服务。 它工作正常,而我在Visual Studio中debugging/build立项目,但安装后不执行它的操作。 这背后的原因是什么? 代码: public partial class Service1 : ServiceBase { FileStream fs; StreamWriter m_streamWriter; Timer tm = new Timer(); public Service1() { InitializeComponent(); this.ServiceName = "timerservice"; tm.Interval = 2000; tm.Tick += new EventHandler(PerformOperations); tm.Start(); fs = new FileStream(@"c:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write); m_streamWriter = new StreamWriter(fs); m_streamWriter.BaseStream.Seek(0, SeekOrigin.End); } private void PerformOperations(object sener, EventArgs e) […]

我可以在控制台C ++应用程序中使用SetTimer()API吗?

我有一个控制台应用程序正在使用一个DLL文件,它使用SetTimer()调用来创build一个计时器并在其内部激发一个函数。 电话如下: SetTimer((HWND)NULL, 0, timer_num, (TIMERPROC)UnSyncMsgTimer)) == 0) 它期望接收计时器消息,但这从来没有发生。 我假设,因为我是一个控制台应用程序,而不是一个标准的Windows GUI应用程序(如最初使用的DLL文件)。 这阻止了DLL文件function的关键部分不起作用。 我的应用程序需要保留一个控制台应用程序,我不能更改DLL。 有没有工作来做这个工作?

使用VB.net读取和写入命令提示符控制台

我在其他地方也提过一个类似的问题,但也许我没有正确地问,或者我不清楚,所以我再次问。 这是我想要得到的地方: 打开一个Windows命令提示符 通过dos命令运行DOS应用程序 阅读在dos框中显示的返回的文本,并在我的Windows窗体中的文本框中显示它。 这需要定期重复(比如,每秒),并且dos框不应该closures。 我一直在试图使用Process和StartInfo命令,但是他们只运行应用程序并立即closures这个过程。 我需要保持dos框打开,并继续阅读由dos应用程序添加到它的任何新文本。 我也遇到这个线程似乎回答我的问题,但它是在C#中,我无法将其转换: 阅读Windows命令提示标准输出 我确实进入了打开命令提示符并启动应用程序的部分,但我不知道如何读取它现在返回到dos框控制台的数据。 我想不断检查变化,以便我可以采取行动,也许使用计时器控制。 请帮忙。 谢谢! 我运行了由Stevedog提供的代码,并像这样使用它: Private WithEvents _commandExecutor As New CommandExecutor() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click _commandExecutor.Execute("c:\progra~2\zbar\bin\zbarcam.exe", "") End Sub Private Sub _commandExecutor_OutputRead(ByVal output As String) Handles _commandExecutor.OutputRead txtResult.Text = output End Sub 但是我所得到的是空白的dos框。 zbarcam应用程序运行正常,因为我可以看到相机预览,我也可以看到它检测到QR码,但是文本没有显示在dos框中,除非closuresDOS框,否则_commandExecutor_OutputRead子程序不会被触发。