VS2010下DoEvents
来源:互联网 发布:做笔记软件 编辑:程序博客网 时间:2024/06/15 22:39
VB和C#下有一个DoEvents方法,可以让程序在执行操作的同时仍可以处理其他事件。由于近期在做一个数据格式转换的项目,需要进行大批量的数据处理,希望能在进行数据读写过程中,程序还能接收其他操作,防止假死现象。百度了一下,发现VB和C#下有此函数,VC下需自己写。
MSDN说明:
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。
DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。
VC版DoEvents
void DoEvents() 02.{ 03. MSG msg; 04. while(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) 05. { 06. DispatchMessage(&msg); 07. TranslateMessage(&msg); 08. } 09.}
以上是网上的一种方法,结合自己项目需求,写DoEvents()如下:
void DoEvents(){MSG msg;if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){if(msg.message == WM_QUIT){::PostQuitMessage(-1);}if(!AfxGetApp()->PreTranslateMessage(&msg)){::TranslateMessage(&msg);::DispatchMessage(&msg);}}AfxGetApp()->OnIdle(0);AfxGetApp()->OnIdle(1);}
0 0
- VS2010下DoEvents
- DoEvents
- 关于DoEvents
- DoEvents应用
- Application.DoEvents();
- Application.DoEvents()
- Doevents优化
- Doevents用法
- Application.DoEvents
- Application.DoEvents
- Application.DoEvents
- C# DoEvents
- Application.DoEvents
- C DoEvents
- Application.DoEvents()
- Application.DoEvents()
- Application.DoEvents
- DoEvents应用
- ecognition server注意事项
- 内存管理的常见错误
- 编程之美:1的数目
- RapidJS学习之快速入门
- 使用MERGE语句同步表
- VS2010下DoEvents
- C++ 类的静态成员详细讲解
- diamond和zookeeper
- Android下拉刷新上拉加载控件,对所有View通用!
- re2c使用小结(3)
- Eclipse安装Ant插件
- csdn 936 linux驱动和推荐书
- 白话压缩感知(含Matlab代码)
- ZOJ 3641 并查集+stl = =