在界面线程不能使用Sleep和WaitForSingleObject之类的函数

你在主线程用了WaitForSingleObject,导致了消息循环的阻塞,界面假死。然后在线程中调用了SetDlgItemText,而SetDlgItemText实际上调用的是SendMessage,而SendMessage要等待主线程处理完毕发送的消息才返回继续执行,而你主线程的消息循环已经阻塞,无法处理消息,导致整个过程“我等你,你等我”,无穷下去

在界面线程不能使用Sleep和WaitForSingleObject之类的函数,比较好的方法是,将句柄作为线程参数传递进线程,当线程结束后发一条消息通知主线程处理完毕

你可能感兴趣的:(在界面线程不能使用Sleep和WaitForSingleObject之类的函数)