我想 Button2 按下去时开始运行一段程序,Button3 按下去时停止于是我就void CChuankouDlg::OnButton2()
{
double xi;
short rtn;
int fangxiang=1;
GTInitial();
InputCfg();
while (stop == 0)
{
...
}}
void CChuankouDlg::OnButton3()
{
stop=1;
}结果运行一点 Button2 程序就死了,怎么办好啊?
{
double xi;
short rtn;
int fangxiang=1;
GTInitial();
InputCfg();
while (stop == 0)
{
...
}}
void CChuankouDlg::OnButton3()
{
stop=1;
}结果运行一点 Button2 程序就死了,怎么办好啊?
{
while (stop == 0)
{
delay( 10 );
}}
delay( DWORD times )
{
DWORD dwStart = GetTickCount();
DWORD dwEnd = dwStart;
do
{
doevents();
dwEnd = GetTickCount();
} while( ( dwEnd - dwStart ) <= times );
}
while (stop == 0)
{
...
}
或者
while (stop == 0)
{
MSG message;
if(::PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&message);
::DispatchMessage(&message);
}
//干你自己的事
}
{
double xi;
short rtn;
int fangxiang=1;
GTInitial();
InputCfg();
while (stop == 0)
{
MSG message;
if(::PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&message);
::DispatchMessage(&message);
}
//干你自己的事
...
}//while (stop == 0)}
{
...
} 死循环,,放到线程里就行了
{
PeekMessage();//看button3有没有按下。
}