父GUI对话线程的子线程是否可以创建子窗口?

问题描述:

您可以从辅助子线程创建子窗口还是必须从GUI线程创建子窗口?假设子线程的生命周期直到程序结束。父GUI对话线程的子线程是否可以创建子窗口?

与其他操作系统不同,windows中的每个线程都可以托管自己的消息泵,因此也包含窗口。

由于子窗口需要与其父节点进行同步通信,因此必须注意确保在调用可能导致SendMessage被发送的窗口API时,两个线程都不保持关键节或同步对象 - 这将导致线程死锁。