在线程中创建 Windows
任何线程都可以创建窗口。 创建窗口的线程拥有窗口及其关联的消息队列。 因此,线程必须提供一个消息循环来处理其消息队列中的消息。 此外,必须在该线程中使用 MsgWaitForMultipleObjects 或 MsgWaitForMultipleObjectsEx ,而不是其他 等待函数,以便它可以处理消息。 否则,当线程在等待时发送消息时,系统可能会死锁。
AttachThreadInput 函数可用于允许一组线程共享相同的输入状态。 通过共享输入状态,线程共享其活动窗口的概念。 通过执行此操作,一个线程始终可以激活另一个线程的窗口。 此函数还可用于在共享输入状态的不同线程创建的窗口之间共享焦点状态、鼠标捕获状态、键盘状态和窗口 Z 顺序状态。
有关创建窗口的信息,请参阅 Windows 类。