读书人

:c#上用timeSetEvent精确定时和timeSe

发布时间: 2012-08-08 14:32:45 作者: rapoo

求助:c#下用timeSetEvent精确定时和timeSetEvent运行机制
求助:

我是这样的用的:
[DllImport("winmm.dll", EntryPoint = "timeSetEvent")]
public static extern int timeSetEvent(int uDelay, int uResolution, TimerCallback lp, Object dwUser, int uFlags);
int id1 = timeSetEvent(5,0,delay,0,0);

TimerCallback delay = new TimerCallback(this.nullHash);

public void nullHash(Object state)
{
MessageBox.Show("11111");
}

想要实现的目的是在5MS之后,执行一段代码.但是调试发现,没有执行那个回调函数delay();

对c#的委托理解不是很好,所以请各位能给个能用的例子,谢谢!!!

还有这个timeSetEvent是新建一个线程去执行回调函数吗?那是不是我的目的达不到? 就是当前线程不等待timeSetEvent的回调函数返回,就继续执行下去了吗?

要是不行的话,有什么方法能实现我的目的?

谢谢各位!!!

[解决办法]
http://www.knowsky.com/340309.html
[解决办法]
为什么不用Timer控件而选择API?
[解决办法]
Window系列(NT或者以上),响应时间在ms级,甚至更慢。因为其不是实时操作系统,所以它的这些响应容易受到其他因素影响,比如系统繁忙程度,消息队列堵塞等.
楼主的 5MS之后,执行一段代码 的需求可能有些要求过高了.
因为根据测不准原则,你执行这段代码实际本身就影响了计时的准确性,而下一个定时周期又会继续影响,这样累积下来,偏差很大的
[解决办法]
六楼应提供一下代码,支持楼主

读书人网 >C#

热点推荐