Función AttachThreadInput (winuser.h)
Asocia o desasocia el mecanismo de procesamiento de entrada de un subproceso al de otro subproceso.
Sintaxis
BOOL AttachThreadInput(
[in] DWORD idAttach,
[in] DWORD idAttachTo,
[in] BOOL fAttach
);
Parámetros
[in] idAttach
Identificador del subproceso que se va a adjuntar a otro subproceso. El subproceso que se va a adjuntar no puede ser un subproceso del sistema.
[in] idAttachTo
Identificador del subproceso al que se asociará idAttach . Este subproceso no puede ser un subproceso del sistema.
Un subproceso no se puede asociar a sí mismo. Por lo tanto, idAttachTo no puede ser igual a idAttach.
[in] fAttach
Si este parámetro es TRUE, se adjuntan los dos subprocesos. Si el parámetro es FALSE, los subprocesos se desasocian.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Windows Server 2003 y Windows XP: No hay información de error extendida; no llame a GetLastError. Este comportamiento cambió a partir de Windows Vista.
Comentarios
Mediante el uso de la función AttachThreadInput , un subproceso puede compartir sus estados de entrada (como estados de teclado y la ventana de foco actual) con otro subproceso. Los eventos de teclado y mouse recibidos por ambos subprocesos se procesan en el orden en que se recibieron hasta que los subprocesos se desasocian llamando a AttachThreadInput una segunda vez y especificando FALSE para el parámetro fAttach .
Se produce un error en la función AttachThreadInput si alguno de los subprocesos especificados no tiene una cola de mensajes. El sistema crea la cola de mensajes de un subproceso cuando el subproceso realiza su primera llamada a una de las funciones USER o GDI. La función AttachThreadInput también produce un error si se instala un enlace de registro de diario. Journal enlaces de registro conectan todas las colas de entrada juntas.
Tenga en cuenta que el estado de clave, que se puede determinar mediante llamadas a la función GetKeyState oGetKeyboardState , se restablece después de una llamada a AttachThreadInput. No se puede adjuntar un subproceso a un subproceso en otro escritorio.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-misc-l1-2-0 (introducido en Windows 8.1) |