c语言多线程售票问题,请教大佬们一个多线程的问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

求问各位大佬,为什么我这个多线程终止不了呢?调用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();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值