首先搞了个SetTimer计时器
为什么用OnKeyDown响应一个键,这个键按下去中执行了一个delay函数void delay()
{
for(i=0;i<100000000;i++);
}
运行发现OnTimer里面响应SetTimer里面那段代码,每次都需要等待delay完成后才能继续执行,难道计时器不是独立的吗,不管我现在运行什么,计时器一到时间就应该运行所需的代码?
为什么用OnKeyDown响应一个键,这个键按下去中执行了一个delay函数void delay()
{
for(i=0;i<100000000;i++);
}
运行发现OnTimer里面响应SetTimer里面那段代码,每次都需要等待delay完成后才能继续执行,难道计时器不是独立的吗,不管我现在运行什么,计时器一到时间就应该运行所需的代码?
解决方案 »
- 为什么微软要让.net技术取代com/dcom/windows dna
- 关于字符串处理的一个问题
- 树形控件的OnPaint()和OnCustonDraw()有什么不同啊?我都被搞糊涂了
- 怎样读写多行编辑框呢?
- 如何ODBC连接一个本地的ACESS数据库
- 怎么做VC6.0的发布程序?很菜的:)
- 如何将long型数据在MessageBox()中显示?
- (,)(,)请问大家:如何设置框架上菜单条背景颜色,如:文件(F) 编辑(E) 查看(V) 帮助(H) 所在背景颜色.3QQQ!!!
- 请问该怎么用setfont()来改变按钮的字体??
- 问卷调查
- 如何为光标加载位图
- VC6.0的组框上的静态的汉字怎么按我们的习惯显示啊?
========
定时器不是多线程的,它还是单线程的,所以还是会阻塞。用多线程吧,并不难。
CreateTimerQueue
CreateTimerQueueTimer
...可以用参数指定是多线程还是单线程,不过其本身就另开了一个线程, 所以不会因为你的界面线程阻塞而得不到执行
这个系列不错
http://www.vckbase.com/document/viewdoc/?id=1704
因为消息通常放入消息队例,程序去这个队例读取 //那个通常不知道用得对不对以上是个人见解,欢迎砖块