阅读:1489回复:4
如何结束程序
我在VxD中用VWIN32_QueueUserApc()函数触发应用程序的回调函数
而在应用程序中用while(1) SleepEx(INFINITE,TRUE);等待. 在dos界面下用ctrl+c退出程序.但在VC++中,会不会死循环? 用什么办法结束程序? |
|
|
沙发#
发布于:2002-04-25 11:37
会死循环的
你最好不要在SleepEx(INFINITE,TRUE)用INFINITE 使用个确定的时间值,如1000 |
|
|
板凳#
发布于:2002-04-25 11:46
sorry,上面说的不对,
vc++中会死循环,但是问题是在你的while(1)中, 应该不需要使用循环,只要将主线程sleepex就可以了,第一个参数为INFINITE, 这样直到你的vxd调用了你应用程序的回调函数后,主线程会被自动唤醒。 |
|
|
地板#
发布于:2002-04-25 12:12
如果不要while(1),是不是回调一次就结束.是不是设一个
bool型变量如aa来控制;然后while(aa)...? by the way,VC中时延好像用不了delay函数(#include <dos.h>好像不行),那用什么? |
|
|
地下室#
发布于:2002-04-25 13:06
应该是回调一次就结束
在vc中最好不要在主线程中进行这类循环,否则你的窗口就无法响应事件了,重新开一个线程吧。 vc中的延时就是sleep()和sleepex() |
|
|