AttachThreadInput
von ActiveVB-Team
Deklaration
Declare Function AttachThreadInput Lib "user32" ( _ ByVal idAttach As Long, _ ByVal idAttachTo As Long, _ ByVal fAttach As Long) As LongWeitere 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 | |
---|---|
idAttach | Spezifiziert die ID des Threads, der mit dem anderen verbunden werden soll. |
idAttachTo | Spezifiziert die ID des Threads, der verbunden werden soll. |
fAttach | Gibt 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 | |
---|---|
1 | Die Funktion wurde erfolgreich ausgeführt. |
0 | Es 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