GetKeyState no funciona cuando se utiliza la función AttachThreadInput para adjuntar una entrada procesamiento mecanismo a un subproceso en Windows 7 o Windows Server 2008 R2

Se aplica a: Windows 7 EnterpriseWindows 7 Home PremiumWindows 7 Professional

Síntomas


Considere el siguiente escenario: en este caso, la función GetKeyState devuelve un estado de botón del mouse o de clave que no es el estado abajo. Sin embargo, la tecla o el botón del mouse debe permanecer en el estado inactivo hasta que una clave correspondiente o se procesa el mensaje de liberación de botón del mouse (por ejemplo, WM_KEYUP, WMSYSKEYUP, WM_LBUTTONUP).

Notas:

Causa


Este problema se produce porque Windows crea una nueva cola de entrada sin copiar la propiedad KeyState en el escenario que se describe en la sección "Síntomas". Por lo tanto, la propiedad KeyState de la nueva cola de entrada tiene un valor nulo. En esta situación, cada botón de teclas y de mouse está en el estado arriba o en el no cambia el estado.

Solución


Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Para aplicar esta revisión, debe ejecutar el Service Pack 1 (SP1) de Windows 7 o Windows Server 2008 R2 Service Pack 1 (SP1).

Para obtener más información acerca de cómo obtener un service pack de Windows 7 o Windows Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

976932 información acerca de Service Pack 1 para Windows 7 y Windows Server 2008 R2

Información del registro

Para utilizar la revisión de este paquete, no es necesario realizar ningún cambio en el registro.

Requisito de reinicio

Debe reiniciar el equipo después de aplicar este hotfix.

Información de reemplazo de revisión

Esta revisión no sustituye a ninguna revisión publicada previamente.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información


Para obtener más información acerca de la función AttachThreadInput , visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de la función TranslateMessage , visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de la función GetKeyState , visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de las ventanas de propiedad, visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft