目录
问题概览
近期在完成一个连接多台相机,并实时显示每一个相机窗口的程序过程中,在程序的最后会涉及对显示窗口的关闭。但是期间尝试采用DestroyWindow
和SendMessage
来关闭时都出现了无法关闭或异常中断的问题。详细问题如下
- 在主线程中使用
DestroyWindow
无法关闭生成的子视窗,返回值为false; - 在主线程中使用
SendMessage(g_hwnd[i], WM_CLOSE, 0, 0)
依次关闭多个视窗时,异常中断。
一.DestroyWindow
无法关闭视窗问题
1.问题现象
在主线程中使用DestroyWindow(hwnd)
时无法关闭销毁视窗,该函数返回值为false
bool flag = DestroyWindow(g_hwnd[0]);
2.排查思路
由于该函数并不会返回报错码,故采用GetLastError()
来查看实际的错误原因。将上述代码修改为如下后,再通过断点调试查到的错误码即可获取实际的错误原因。
bool flag