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 Wartefunktionen verwenden, damit Nachrichten verarbeitet werden können. Andernfalls kann das System zum Deadlocking werden, wenn dem Thread eine Nachricht gesendet wird, während er wartet.
Die AttachThreadInput-Funktion kann verwendet werden, um es einer Gruppe von Threads zu ermöglichen, denselben Eingabezustand gemeinsam zu verwenden. Durch die Freigabe des Eingabezustands teilen die Threads ihr Konzept des aktiven Fensters. Dadurch kann immer ein Thread das Fenster eines anderen Threads aktivieren. Diese Funktion ist auch nützlich für die Freigabe des Fokuszustands, des Mausaufnahmezustands, des Tastaturzustands und des Fenster-Z-Reihenfolge-Zustands zwischen Fenstern, die von verschiedenen Threads erstellt wurden, deren Eingabestatus gemeinsam genutzt wird.
Informationen zum Erstellen von Fenstern finden Sie unter Windows-Klassen.