Fonction de GetKeyState ne fonctionne pas lorsque vous utilisez la fonction AttachThreadInput pour joindre une mécanisme à un thread dans Windows 7 ou dans Windows Server 2008 R2 de traitement des entrées

S’applique à : Windows 7 EnterpriseWindows 7 Home PremiumWindows 7 Professional

Symptômes


Envisagez le scénario suivant : dans ce scénario, la fonction GetKeyState renvoie un état de bouton de souris ou de la clé n’est pas enfoncé. Toutefois, la clé ou le bouton de la souris doit rester à l’état bas, jusqu'à ce qu’une clé correspondante ou message de libération de bouton de la souris (par exemple, WM_KEYUP, WMSYSKEYUP, WM_LBUTTONUP) est traitée.

Remarques

Cause


Ce problème se produit parce que Windows crée une nouvelle file d’attente d’entrée sans copier la propriété KeyState dans le scénario décrit dans la section « Symptômes ». Par conséquent, la propriété KeyState la nouvelle file d’attente d’entrée possède une valeur null. Dans ce cas, chaque bouton de la clé et de la souris est à l’état haut ou dans le n’est pas activé/désactivé d’état.

Résolution


Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif, vous devez exécuter Windows 7 Service Pack 1 (SP1) ou Windows Server 2008 R2 Service Pack 1 (SP1).

Pour plus d’informations sur la façon d’obtenir un service pack Windows 7 ou Windows Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

976932 les informations sur le Service Pack 1 pour Windows 7 et Windows Server 2008 R2

Informations concernant le Registre

Pour utiliser le correctif dans ce package, il est inutile d'apporter des modifications au Registre.

Nécessite un redémarrage

Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Pour plus d’informations sur la fonction AttachThreadInput , visitez le site Web Microsoft suivant :Pour plus d’informations sur la fonction TranslateMessage , visitez le site Web Microsoft suivant :Pour plus d’informations sur la fonction GetKeyState , visitez le site Web Microsoft suivant :Pour plus d’informations sur les fenêtres enfants, visitez le site Web Microsoft suivant :Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft