Funkcja GetKeyState nie działa, gdy używasz funkcji AttachThreadInput dołączyć dane wejściowe przetwarzania mechanizm do wątku w systemie Windows 7 lub Windows Server 2008 R2

Objawy

Rozważmy następujący scenariusz: W tym scenariuszu funkcja GetKeyState zwraca klucz lub myszy stan przycisku, który nie jest w stanie down. Jednakże klawisza lub przycisku myszy powinny pozostać w stanie down, aż do odpowiedniego klucza lub przetwarzane komunikat o zwolnieniu przycisku myszy (takich jak WM_KEYUP, WMSYSKEYUP, WM_LBUTTONUP).

Uwagi

Przyczyna

Ten problem występuje, ponieważ system Windows tworzy nowy kolejki wejściowej bez kopiowania KeyState właściwość w scenariuszu, który jest opisany w sekcji "Symptomy". W związku z tym właściwość KeyState kolejki wejściowej ma wartość null. W tej sytuacji każdego przycisku myszy i klawisza jest w stanie up lub w polu nie przełączać stan.

Rozwiązanie

Informacje o poprawce

Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Zastosuj poprawkę tylko w systemach, w których występuje problem opisany w tym artykule. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, skontaktuj się z Obsługą i Wsparciem Klienta Microsoft w celu uzyskania poprawki.

Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej i obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Uwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.

Wymagania wstępne

Aby zastosować tę poprawkę, zostanie uruchomiony dodatek Service Pack 1 (SP1) dla systemu Windows 7 lub Windows Server 2008 R2 z dodatkiem Service Pack 1 (SP1).

Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania dodatku service pack dla systemu Windows 7 lub Windows Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

informacje o dodatku Service Pack 1 dla systemu Windows 7 i Windows Server 2008 R2

Informacje dotyczące rejestru

Aby użyć poprawki w tym pakiecie, nie trzeba wprowadzać żadnych zmian w rejestrze.

Wymagania dotyczące ponownego uruchomienia

Po zastosowaniu tej poprawki należy ponownie uruchomić komputer.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Wersja globalna tej poprawki instaluje pliki, których atrybuty wymieniono w poniższych tabelach. Daty i godziny odpowiadające tym plikom są podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Daty i godziny odpowiadające tym plikom na komputerze lokalnym są wyświetlane w formacie czasu lokalnego, wraz z Twoim bieżącym bias czasu letniego (DST). Dodatkowo, daty mogą ulec zmianie podczas wykonywania pewnych operacji na plikach.

Informacje o plikach w systemie Windows 7 i Windows Server 2008 R2

  • Pliki dotyczące określonego produktu, etapu rozwoju (RTM, SPn) i składnika usługi (LDR, GDR) można zidentyfikować przez sprawdzenie wersji pliku, jak pokazano w poniższej tabeli:

  • Pliki MANIFESTU (.manifest) i pliki MUM (.mum) zainstalowane dla każdego środowiska są wymienione osobno w sekcji "Informacje o dodatkowych plikach dla systemów Windows Server 2008 R2 i Windows 7". Pliki MUM i pliki MANIFESTU oraz skojarzone pliki z wykazu zabezpieczeń (.cat), są bardzo ważne, aby utrzymać stan zaktualizowanych składników. Pliki katalogu zabezpieczeń, których atrybuty nie zostały wymienione, są podpisane za pomocą podpisu cyfrowego firmy Microsoft.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji na temat funkcji AttachThreadInput odwiedź następujące witryny firmy Microsoft:

Aby uzyskać więcej informacji na temat funkcji TranslateMessage odwiedź następujące witryny firmy Microsoft:

Aby uzyskać więcej informacji na temat funkcji GetKeyState odwiedź następujące witryny firmy Microsoft:

Aby uzyskać więcej informacji na temat własnością systemu windows odwiedź następujące witryny firmy Microsoft:

Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Informacje o dodatkowych plikach dla systemu Windows 7 i Windows Server 2008 R2

Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows 7 z procesorami x86

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×