该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求问各位大佬,为什么我这个多线程终止不了呢?调用homepage()之后,在相同的位置点击还是会触发。
#include
#include
#include
#include
void homepage();
DWORD WINAPI mouse_action(LPVOID);
HANDLE handle1;
int handle_ctrl = 1;
int main() {
initgraph(1280, 720);
setbkcolor(WHITE);
settextcolor(BLACK);
cleardevice();
setbkmode(TRANSPARENT);
IMAGE homebtn;
loadimage(&homebtn, _T("HomePage.jpg"), 35, 35);
putimage(1180, 3, &homebtn);
while (handle_ctrl) {
handle1 = CreateThread(NULL, 0, mouse_action, NULL, 0, NULL);//线程1 获取鼠标操作
CloseHandle(handle1);
}
_getch();
closegraph();
}
DWORD WINAPI mouse_action(LPVOID) {
MOUSEMSG m;
while (true) {
m = GetMouseMsg();
switch (m.uMsg)
{
case WM_LBUTTONDOWN:
if (m.x > 1180 && m.x < 1215 && m.y > 3 && m.y < 38) {
handle_ctrl = 0;
goto jump;
}
break;
}
}
jump:
TerminateThread(handle1, 0);
outtextxy(360, 360, _T("test"));
int i = MessageBox(NULL, _T("test"), _T("test"), MB_OK | MB_SETFOREGROUND);
if(i == IDOK)
homepage();
return 0;
}
void homepage() {
initgraph(1280, 720);
setbkcolor(WHITE);
settextcolor(BLACK);
cleardevice();
setbkmode(TRANSPARENT);
outtextxy(250, 360, _T("thread closed"));
_getch();
closegraph();
}