Erstellen von Windows in Threads
Jeder Thread kann ein Fenster erstellen. Der Thread, der das Fenster erstellt, besitzt das Fenster und die zugehörige Nachrichtenwarteschlange. Daher muss der Thread eine Nachrichtenschleife bereitstellen, um die Nachrichten in seiner Nachrichtenwarteschlange zu verarbeiten. Darüber hinaus müssen Sie MsgWaitForMultipleObjects oder MsgWaitForMultipleObjectsEx in diesem Thread anstelle der anderen Wartefunktionenverwenden, damit Nachrichten verarbeitet werden können. Andernfalls kann ein Deadlock des Systems auftreten, wenn dem Thread während des Wartens eine Nachricht gesendet wird.
Die AttachThreadInput-Funktion kann verwendet werden, um einer Gruppe von Threads zu ermöglichen, denselben Eingabezustand zu verwenden. Durch die Freigabe des Eingabezustands teilen sich die Threads ihr Konzept des aktiven Fensters. Dadurch kann ein Thread immer das Fenster eines anderen Threads aktivieren. Diese Funktion ist auch nützlich, um den Fokuszustand, den Mauserfassungszustand, den Tastaturzustand und den Z-Reihenfolgenzustand des Fensters für Fenster freizugeben, die von verschiedenen Threads erstellt wurden, deren Eingabezustand gemeinsam genutzt wird.
Informationen zum Erstellen von Fenstern finden Sie unter Windows-Klassen.