Função de GetKeyState não funciona quando utiliza a função AttachThreadInput para anexar uma mecanismo para um thread no Windows 7 ou no Windows Server 2008 R2 de processamento de entradas

Sintomas

Considere o seguinte cenário: neste cenário, a função GetKeyState devolve o estado do botão de chave ou o rato não seja o estado para baixo. No entanto, a chave ou o botão do rato deve permanecer no seu estado para baixo até uma chave correspondente ou mensagem de libertação de botão do rato (por exemplo, WM_KEYUP, WMSYSKEYUP, WM_LBUTTONUP) é processada.

Notas

Causa

Este problema ocorre porque o Windows cria uma nova fila de entrada sem copiar a propriedade KeyState no cenário descrito na secção "Sintomas". Por conseguinte, a propriedade KeyState da nova fila de entrada tem um valor nulo. Nesta situação, cada botão de chave e o rato está no estado de cima ou em não alternada estado.

Resolução

Informações sobre correção

Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.

Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentada, contacte o Suporte ao Cliente da Microsoft para obter a correção.

Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:

Nota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Para aplicar esta correcção, tem de estar a executar o Windows 7 Service Pack 1 (SP1) ou Windows Server 2008 R2 Service Pack 1 (SP1).

Para mais informações sobre como obter um Windows 7 ou Windows Server 2008 R2 service pack, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

obter informações sobre o Service Pack 1 para Windows 7 e Windows Server 2008 R2

Informações de registo

Para utilizar a correção neste pacote, não é necessário efetuar alterações ao registo.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição da correção

Esta correção não substitui uma correção disponibilizada anteriormente.

A versão global desta correção instala ficheiros que têm os atributos listados nas tabelas seguintes. As datas e horas destes ficheiros são listadas na Hora Universal Coordenada (UTC). As datas e horas destes ficheiros no computador local são apresentadas na hora local em conjunto com a compensação de hora de Verão (DST) atual. Além disso, as datas e horas podem ser alteradas quando são executadas determinadas operações nos ficheiros.

Notas informativas sobre os ficheiros do Windows 7 e Windows Server 2008 R2

  • Os ficheiros aplicáveis a um determinado produto, marco (RTM, SPn) e ramo de serviço (LDR, GDR) podem ser identificados examinando os números de versão do ficheiro, conforme mostrado na seguinte tabela:

  • Os ficheiros MANIFEST (. manifest) e MUM (. mum) instalados em cada ambiente é listados em separado na secção "Informações para o Windows Server 2008 R2 e Windows 7 ficheiros adicionais". Ficheiros MUM, MANIFESTO e os ficheiros de catálogo de segurança (. cat) associados, são extremamente importantes para manter o estado dos componentes atualizados. Os ficheiros de catálogo de segurança, para os quais os atributos não são listados são assinados com uma assinatura digital da Microsoft.

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações

Para mais informações sobre a função de AttachThreadInput , visite o seguinte Web site da Microsoft:

Para mais informações sobre a função de TranslateMessage , visite o seguinte Web site da Microsoft:

Para mais informações sobre a função de GetKeyState , visite o seguinte Web site da Microsoft:

Para mais informações sobre janelas possuídas, visite o seguinte Web site da Microsoft:

Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:

descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Informações sobre ficheiros adicionais para o Windows 7 e Windows Server 2008 R2

Ficheiros adicionais para todas as versões baseadas em x86 suportadas do Windows 7

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×