Die Community zu .NET und Classic VB.
Menü

AttachThreadInput

 von 

Deklaration  

Declare Function AttachThreadInput Lib "user32" ( _
                 ByVal idAttach As Long, _
                 ByVal idAttachTo As Long, _
                 ByVal fAttach As Long) As Long
Weitere Informationen zur Verwendung dieser Funktion finden sie u.U. auch im Artikel AttachThreadInput des API-Wikis.

Die AttachThreadInput verbindet den Eingabe-Mechanismus eines Threads mit dem eines anderen. Normalerweise stellt Windows für jeden Thread eine von anderen unabhängige Eingabe-Methodik zur Verfügung. Das bedeutet, dass jeder Thread seine eigene besitzt (Focus, Active, Capture Windows, Key-State, Queue Status usw.) und sie nicht mit der eines anderen synchronisiert sind. Bei Verwendung dieser Funktion kann ein Thread mit dem Eingabeprozess eines anderen verbunden werden. Dies gestattet es, die Eingabe zu teilen, sodass z.B. der Focus in einer anderen Anwendung gesetzt oder aber auch der Keystate abgefragt werden kann. Ein solches Feature steht normalerweise nicht zur Verfügung.

Die AttachThreadInput versagt, wenn der zu koppelnde Thread keine Message-Queue besitzt. Das System erstellt eine solche Schleife erstmalig, wenn der Thread eine der Funktionen aus der User32- oder GDI32-Bibliothek aufruft.

Zu Beachten ist, dass der Key-State, der durch GetKeyState oder GetKeyboardState ermittelt werden kann, nach einem Aufruf durch AttachThreadInput zurückgesetzt wird.

Parameter
idAttachSpezifiziert die ID des Threads, der mit dem anderen verbunden werden soll.
idAttachToSpezifiziert die ID des Threads, der verbunden werden soll.
fAttachGibt an, ob der Thread angekoppelt oder entkoppelt werden soll. Ist dieser Parameter 1, wird die Verbindung aufgenommen, ist er 0, wird wieder getrennt.

Tabelle 1


Rückgabewerte
1Die Funktion wurde erfolgreich ausgeführt.
0Es lag ein Fehler vor.

Tabelle 2


Unterstützte Betriebssysteme
Win32s, Windows 95, Windows 98, Windows NT

Verwandte API-Funktionen
GetCurrentThreadId, GetKeyState, GetKeyboardState, GetWindowThreadProcessId, SetFocus

Zugehörige Tipps