我创建了一个带有两个按钮的简单窗口,第一个调用一个持续很长时间的函数,第二个调用变量"stop"的值设置为TRUE,最初设置为FALSE.
我的意图是,通过按下第一个按钮它会运行一个很长的进程,它控制每个循环的stop变量是设置为TRUE还是FALSE,如果值为TRUE,则函数应该返回,因此进程停止.
...
static BOOL stop = FALSE; // My variable defined somewhere
...
int longProcess () // My function
{
while(stop == FALSE) {
// do something
}
return 0;
}
...
switch (msg)
{
case WM_CREATE:
{
...
Button1 = CreateWindowEx(0,
TEXT("BUTTON"),
TEXT("Start"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
100, 100, 100, 20,
hWnd,
(HMENU)BUTTON_START,
NULL,
NULL);
Button2 = CreateWindowEx(0,
TEXT("BUTTON"),
TEXT("Stop"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
200, 200, 100, 20,
hWnd,
(HMENU)BUTTON_STOP,
NULL,
NULL);
...
}
break;
case …
Run Code Online (Sandbox Code Playgroud)