Desative a ativação da barra de menus quando Alt for pressionado no Windows 7


17

No Windows 7, como posso desativar a função que ativa a barra de menus quando Altpressionada?

Existem alguns valores do Registro para modificar esse comportamento?

Respostas:


2

A resposta é não. Como eles puderam fazer aquilo? Se eles fizessem isso, e alguém o desativasse, eles cortariam as pessoas dos itens de menu muito necessários. Seria um pesadelo.

A única coisa que você pode fazer é conviver com isso ou ativar o menu permanentemente clicando em Organizar> Layout> Barra de menus.


9
Deve ser um comentário.
Moab

@ Moo Eu pensei que era uma resposta, mas vou ser mais claro.
KCotreau

@KCotreau: Como você disse, existe uma maneira de obter a barra de menus, portanto, para mim é desnecessário que a tecla ALT produza isso.
mjsr

@voodoomsr Mas se você não tiver ALT, e anteriormente não o tivesse exposto permanentemente, seria bloqueado, não?
KCotreau

É fácil para um programa desativar o Alt globalmente, mas testá-lo é complicado. Não há garantia de que outro programa não intercepte a chamada antes de você. . .
114411 surfasb

12

Eu já estou usando o AutoHotkey , então adicionei esta linha ao meu script e corrigiu esse comportamento irritante em quase todos os aplicativos:

~LAlt Up:: return

Ele não funciona no IE, mas eu não o uso de qualquer maneira. :)

BTW, eu também matei o pop-up irritante do menu Iniciar via:

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

6
Essa deve ser a resposta aceita.
Espinho

Veja minha resposta abaixo para uma solução que também funciona com a combinação de teclas Alt + Shift.
anrieff

3

Encontrei essa pergunta porque tenho um novo teclado e, às vezes, pressione a ALTtecla acidentalmente ao digitar e-mails no Gmail. O foco é perdido e as seguintes teclas são passadas para o meu navegador (que pode ter resultados muito irritantes às vezes).

A melhor solução que encontrei, que é uma melhoria, mas não perfeita, é com um programa keymapper chamado KeyTweak , que, pelo que entendi, altera o registro .

No programa, você mapeia Left Altpara Right Alte Right Altpara Left Alt. Isso permite que as Altfunções ainda funcionem um pouco ( Ctrl- Alt- Delete). No entanto, Alt- Tabestá parcialmente quebrado (pelo menos no meu Windows-7). Ele permite que você vá parcialmente para os outros aplicativos, mas quando você solta a Alttecla, a "seleção" do próximo aplicativo não é feita (você pode fazê-lo com um clique do mouse).

É uma pena que o Windows não tenha algo para impedir a perda de foco devido às pressões Alt erradas. As teclas Shifte Ctrlnão têm esse efeito, por exemplo.


Eu uso uma abordagem semelhante usando SharpKeys, rochas de remapeamento de registro! : D
mjsr 14/04

Remapeado via SharpKeys (o KeyTweak não pôde ser instalado, apenas sai. Talvez não funcione com o XP?) , Reiniciado, mas o truque não funcionou.
Hi-Angel

2

Este é interessante. Não conheço nenhum programa além do Autokey. Ou apenas acabe escrevendo um programa. Mas nenhuma configuração de registro. Isso quebraria toneladas de programas.


Eu tento com autohotkey mas eu tenho problemas que eu explico em dois pergunta que eu postar no fórum AutoHotkey, aqui é o mais relacionado: autohotkey.com/forum/viewtopic.php?t=74033
mjsr

2

Essa autohotkey funciona para mim no Windows 10:

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

(A resposta de Zengabor não funcionou para mim).

Toda a glória de Rohwedder


Isso parece funcionar no início, mas, em seguida, pressionar Ctrl-Z, por exemplo, depois de pressionar e liberar Alt não funciona da primeira vez.
Alexandre G

1

como encontrado em algum lugar @MS

  1. Pressione a tecla Windows + R, digite Regedit e pressione Enter.
  2. Navegar para HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Agora crie ou modifique um valor de seqüência de caracteres (REG_SZ) chamado One defina seu valor como 1
  4. Faça logoff do seu computador para entrar em vigor.

2
Em vez de postar exatamente a mesma resposta para várias perguntas, você deve adaptá-la especificamente para se adequar ao OP. Se uma pergunta for exatamente idêntica e puder ser respondida exatamente com a mesma resposta, você deverá sinalizar para fechar uma das perguntas como duplicada, em vez de postar respostas duplicadas.
Mokubai

1
não tenho tempo para pesquisar como moderadores devem marcar duplicatas, desculpe, talvez você possa fazer isso? em vez de pessoas chatas que apoiam soluções.
Jens Marchewka

1

Eu estava procurando uma solução para o mesmo problema: corrigindo como o Windows reage a "Alt + Shift" (alterar o idioma de entrada), mas você digita errado e pressiona Alt, seguido de Shift, sem sobreposição. Nesse caso, o Windows interpretaria o Alt solitário como "menu de seleção", o Shift solitário não faz nada e os caracteres pressionados posteriormente selecionam e entram em menus aleatórios que você não pretendia abrir.

Ao usar um aplicativo de bate-papo como o Skype e você fala um idioma estrangeiro, alternar com Alt + Shift é bastante frequente e você pode fazer muitas coisas estúpidas com pressa.

@ user3419297 me indicou sua solução aqui, que eu modifiquei para permitir que Alt + Shift acontecesse em todos os casos. É apenas um #Se mais, mas muito importante! O trecho relevante:

; 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

Meu script completo também habilita dois recursos do Linux: Alt + F2 abre um "comando de inicialização rápida" e pressionar a tecla Alt à direita minimiza a janela ativa no momento:

;==============================================================================
; 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

Isso funciona no meu sistema com a Autohotkey:

~LAlt::
KeyWait, LAlt
return

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

Faz com que o LAlt se comporte puramente como uma tecla modificadora, sem disparar nenhuma ação se ela for pressionada sozinha (como ativar a barra de menus da janela ativa no momento).

EDITAR:

Tente também isso .


Veja minha resposta abaixo para uma solução que também funciona com a combinação de teclas Alt + Shift.
anrieff

1

Nenhuma das soluções baseadas em AHK postadas aqui funcionou para mim. No entanto, com algumas brincadeiras, eu descobri que se você emparelhar o ALT com qualquer outra tecla antes que ela seja liberada, ela não funcionará para destacar os menus. Em vez de desperdiçar uma tecla de função, usei um código de verificação não atribuído que nunca é usado para nenhuma outra finalidade.

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

Explicação em vídeo:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Link para o script completo:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk


0

Apenas postando uma solução que encontrei. Mata qualquer Altmenu 100%

Alt::
KeyWait, Alt
return

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

Se você preferir, também pode restringir esta solução a um único programa:

#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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.