Wyłącz aktywację paska menu po naciśnięciu Alt w Windows 7


17

Jak w Windows 7 mogę wyłączyć funkcję, która aktywuje pasek menu po Altnaciśnięciu?

Czy istnieją jakieś wartości rejestru modyfikujące to zachowanie?

Odpowiedzi:


2

Odpowiedź brzmi nie. Jak mogli to zrobić? Gdyby to zrobili i ktoś to wyłączył, odcięliby ludzi od bardzo niezbędnych pozycji menu. To byłby koszmar.

Jedyne, co możesz zrobić, to żyć z tym lub aktywować menu na stałe, klikając Organizuj> Układ> Pasek menu.


9
Powinien być komentarzem.
Moab

@Moab Myślałem, że to odpowiedź, ale będę bardziej zrozumiały.
KCotreau,

@KCotreau: Jak mówisz, istnieje sposób na uzyskanie paska menu, więc dla mnie nie jest konieczne, aby wytwarzał go klawisz ALT.
mjsr

@voodoomsr Ale jeśli nie masz ALT, a wcześniej nie wystawiłeś go na stałe, zostaniesz zablokowany, nie?
KCotreau,

Programowi łatwo jest wyłączyć Alt na całym świecie, ale testowanie go jest trudne. Nie ma gwarancji, że inny program nie przechwyci połączenia przed tobą. . .
surfasb

12

Korzystam już z AutoHotkey , więc dodałem ten wiersz do skryptu i naprawiłem to irytujące zachowanie w prawie wszystkich aplikacjach:

~LAlt Up:: return

To nie działa w IE, ale i tak nie używam IE. :)

BTW, zabiłem też irytujące menu startowe poprzez:

~LWin Up:: return
~RWin Up:: return

6
To powinna być zaakceptowana odpowiedź.
cierń

Zobacz moją odpowiedź poniżej, aby uzyskać rozwiązanie, które działa również z kombinacją klawiszy Alt + Shift.
anrieff,

3

Znalazłem to pytanie, ponieważ mam nową klawiaturę i czasami przypadkowo nacisnąłem ALTklawisz podczas pisania wiadomości e-mail w Gmailu. Fokus jest tracony, a kolejne naciśnięcia klawiszy są przekazywane do mojej przeglądarki (co może czasami mieć bardzo irytujące wyniki).

Najlepszym rozwiązaniem, które znalazłem, które jest ulepszeniem, ale nie jest idealne, jest program keymapper o nazwie KeyTweak , który, o ile rozumiem, zmienia rejestr .

W programie mapujesz Left Altna Right Alti Right Altdo Left Alt. Dzięki temu Altfunkcje nadal działają nieco ( Ctrl- Alt- Delete). Jednak Alt- Tabjest częściowo zepsuty (przynajmniej w moim Windows-7). Pozwala on częściowo przejść do innych aplikacji, ale po zwolnieniu Altklawisza „wybór” następnej aplikacji nie jest dokonywany (można to jednak zrobić jednym kliknięciem myszy).

Szkoda, że ​​Windows nie ma czegoś, co zapobiegnie utracie ostrości z powodu błędnych naciśnięć klawiszy Alt. Te Shifti Ctrlklawisze nie ma tego efektu, na przykład.


Korzystam z podobnego podejścia za pomocą SharpKeys, mapowania rejestru skały! : D
mjsr

Ponownie mapowany za pomocą SharpKeys (KeyTweak nie mógł zainstalować, po prostu cicho wychodzi. Może nie działa z XP?) , Zrestartował się, ale sztuczka nie zadziałała.
Cześć Anioł

2

Ten jest interesujący. Nie znam żadnych programów oprócz Autokey. Lub po prostu napisać program. Ale brak ustawień rejestru. To zepsułoby TONY programów.


Próbuję z autohotkey, ale mam problemy, które wyjaśniam w dwóch pytaniach, które publikuję na forum AutoHotkey, tutaj jest najbardziej powiązany: autohotkey.com/forum/viewtopic.php?t=74033
mjsr

2

Ten klucz automatyczny działa dla mnie w systemie Windows 10:

Alt::Return ;Disables the key alt when it's pressed alone

(Odpowiedź Zengabora nie działała dla mnie).

Cała chwała Rohwedderowi


Wydaje się, że to działa na początku, ale potem naciśnięcie Ctrl-Z na przykład po naciśnięciu i zwolnieniu klawisza Alt nie działa po raz pierwszy.
Alexandre G

1

jak znaleziono gdzieś @MS

  1. Naciśnij klawisz Windows + R, wpisz Regedit i naciśnij Enter.
  2. Nawigować do HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Teraz utwórz lub zmodyfikuj wywoływaną wartość ciągu (REG_SZ) Oni ustaw jej wartość na 1
  4. Wyloguj się z komputera, aby zastosować.

2
Zamiast zamieszczać dokładnie tę samą odpowiedź na wiele pytań, powinieneś specjalnie dopasować swoją odpowiedź do OP. Jeśli pytanie jest dokładnie identyczne i można na nie odpowiedzieć dokładnie tą samą odpowiedzią, powinieneś zgłosić zamknięcie jednego z pytań jako duplikatu zamiast zamieszczania duplikatów odpowiedzi.
Mokubai

1
nie mam czasu na sprawdzenie, jak moderatorzy powinni oznaczać duplikaty, przepraszam, może mógłbyś to zrobić? zamiast bumming ppl, którzy wspierają rozwiązania.
Jens Marchewka

1

Szukałem rozwiązania tego samego problemu: naprawienia reakcji systemu Windows na „Alt + Shift” (zmiana języka wprowadzania), ale pomylisz się i naciskasz Alt, a następnie Shift, bez nakładania się. W takim przypadku Windows zinterpretowałby samotny Alt jako „menu wyboru”, samotny Shift nic nie robi, a wszystkie znaki, które naciskasz później, wybierają i wchodzą w losowe menu, których nie zamierzałeś otwierać.

Gdy używasz aplikacji do czatowania, takiej jak Skype, a mówisz w obcym języku, przełączanie się za pomocą Alt + Shift jest dość częste i możesz w pośpiechu robić wiele głupich rzeczy.

@ user3419297 wskazał mi swoje rozwiązanie tutaj, które zmodyfikowałem, aby umożliwić Alt + Shift we wszystkich przypadkach. To tylko jeden # Jeśli więcej, ale bardzo ważny! Odpowiedni fragment:

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

Mój pełny skrypt włącza także dwie funkcje Linuxisha: Alt + F2 otwiera „polecenie szybkiego uruchamiania”, a naciśnięcie prawego klawisza Alt minimalizuje aktualnie aktywne okno:

;==============================================================================
; AutoHotKey script for "Linuxifying" Windows 8.
; Based on suggestions on SuperUser (http://superuser.com/questions/1147370)
; 
; Written by: Veselin Georgiev
; Date      : 2016-11-18
;==============================================================================

; Optional: Make Alt+F2 bring up the "quick launch command" Window.
; In this case, it simulates the Windows logo key press. On Windows 8, the
; cursor would be in the search bar, which nicely emulates launching a
; command.
!F2::
    Sleep 200
    Send {LWin}
return

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

; Optional: Make the right alt key minimize the currently visible window.
~RAlt Up::WinMinimize A

1

Działa to w moim systemie z Autohotkey:

~LAlt::
KeyWait, LAlt
return

~LAlt Up::
Send, {LAlt Up}
return

Sprawia, że ​​LAlt zachowuje się wyłącznie jak klawisz modyfikujący, bez wyzwalania żadnej akcji, jeśli zostanie naciśnięty sam (np. Aktywacja paska menu aktualnie aktywnego okna).

EDYTOWAĆ:

Spróbuj również tego .


Zobacz moją odpowiedź poniżej, aby uzyskać rozwiązanie, które działa również z kombinacją klawiszy Alt + Shift.
anrieff,

1

Żadne z opublikowanych tutaj rozwiązań opartych na AHK nie działało dla mnie. Jednak z pewnymi skrzypkami doszedłem do wniosku, że jeśli sparujesz ALT z dowolnym innym klawiszem przed jego zwolnieniem, nie będzie działać, aby podświetlić menu. Zamiast marnować klawisz funkcyjny, użyłem nieprzypisanego kodu skanowania, który nigdy nie jest używany w żadnym innym celu.

LAlt::
sendinput, {LAlt down}
sendinput, {SC0E8 down} ;this is the scan code of an unassigned key. As long as you nor the system never use it for anything else, it can be used in THIS way to cancel the menu acceleration.
;tooltip, Lalt is pressed
KeyWait, LAlt
; That line is important, so that ALT does not continuously fire as you are holding it down.
;tooltip, Lalt was released
return

LAlt up::
sendinput, {LAlt up}
sendinput, {SC0E8 up}
;;;Unlike my 2nd keyboard, this method does not use the scan code as a strict "wrapper."
;;tooltip, 
return


RAlt::
sendinput, {RAlt down}
sendinput, {SC0E8 down}
;;tooltip, Ralt is pressed
KeyWait, RAlt
;;tooltip, Ralt was released
return

RAlt up::
sendinput, {RAlt up}
sendinput, {SC0E8 up}
;;tooltip, 
return

Wyjaśnienie wideo:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Link do pełnego skryptu:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk


0

Właśnie opublikowałem rozwiązanie, które znalazłem. Zabija każde Altmenu w 100%

Alt::
KeyWait, Alt
return

LAlt Up::
if (A_PriorKey = "Alt")
    return
return

Jeśli wolisz, możesz ograniczyć to rozwiązanie do jednego programu:

#IfWinActive ahk_exe sublime_text.exe
    Alt::
    KeyWait, Alt
    return

    LAlt Up::
    if (A_PriorKey = "Alt")
        return
    return
#IfWinActive
  1. https://www.autohotkey.com/boards/viewtopic.php?p=248473#p248473
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.