Disabilita l'attivazione della barra dei menu quando si preme Alt in Windows 7


17

In Windows 7 come posso disabilitare la funzione che attiva la barra dei menu quando Altviene premuto?

Esistono alcuni valori di registro per modificare questo comportamento?

Risposte:


2

La risposta è no. Come hanno potuto farlo? Se lo facessero e qualcuno lo disabilitasse, eliminerebbero le persone dalle voci di menu molto necessarie. Sarebbe un incubo.

L'unica cosa che puoi fare è vivere con quello o attivare il menu in modo permanente facendo clic su Organizza> Layout> Barra dei menu.


9
Dovrebbe essere un commento.
Moab,

@Moab Ho pensato che fosse una risposta, ma sarò più chiaro.
KCotreau,

@KCotreau: Come dici tu, c'è un modo per ottenere la barra dei menu, quindi per me è inutile che il tasto ALT lo produca.
mjsr,

@voodoomsr Ma se non avessi ALT e in precedenza non lo avessi esposto in modo permanente, saresti bloccato, no?
KCotreau,

È facile per un programma disabilitare Alt a livello globale, ma testarlo è complicato. Non è garantito che un altro programma non intercetti la chiamata prima di te. . .
surfasb,

12

Ho già usato AutoHotkey , quindi ho aggiunto questa riga al mio script e risolto questo fastidioso comportamento in quasi tutte le applicazioni:

~LAlt Up:: return

Non funziona in IE ma non uso IE comunque. :)

A proposito, ho anche ucciso il fastidioso popup del menu di avvio tramite:

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

6
Questa dovrebbe essere la risposta accettata.
spina

Vedi la mia risposta di seguito per una soluzione che funziona anche con la combinazione di tasti Alt + Maiusc.
anrieff

3

Ho trovato questa domanda perché ho una nuova tastiera e a volte premo accidentalmente il ALTtasto durante la digitazione di e-mail in Gmail. L'attenzione viene persa e tutte le seguenti sequenze di tasti vengono passate al mio browser (che a volte può avere risultati molto fastidiosi).

La migliore soluzione che ho trovato, che è un miglioramento ma non perfetto, è con un programma keymapper chiamato KeyTweak , che per quanto ho capito, cambia il registro .

Nel programma, si associa Left Alta Right Alt, e Right Alta Left Alt. Ciò consente alle Altfunzioni di funzionare ancora in qualche modo ( Ctrl- Alt- Delete). Tuttavia, Alt- Tabè parzialmente rotto (almeno sul mio Windows-7). Ti consente in parte di passare ad altre applicazioni, ma quando rilasci la Altchiave, la "selezione" dell'applicazione successiva non viene effettuata (puoi farlo con un clic del mouse, comunque).

Peccato che Windows non abbia qualcosa per impedire la perdita di messa a fuoco causata da pressioni Alt errate. I tasti Shifte Ctrlnon hanno questo effetto, per esempio.


Uso un approccio simile usando SharpKeys, rocce di rimappatura del registro! : D
mjsr

Rimappato via SharpKeys (KeyTweak non è stato installato, si chiude silenziosamente. Forse non funziona con XP?) , Riavviato, ma il trucco non ha funzionato.
Hi-Angel,

2

Questo è interessante Non conosco nessun programma oltre a Autokey. O finisci per scrivere un programma. Ma nessuna impostazione del registro. Ciò spezzerebbe tonnellate di programmi.


Provo con autohotkey ma ho problemi che spiego in due domande che inserisco nel forum AutoHotkey, qui è il più correlato: autohotkey.com/forum/viewtopic.php?t=74033
mjsr

2

Questo autohotkey funziona per me su Windows 10:

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

(La risposta di Zengabor non ha funzionato per me).

Tutta la gloria a Rohwedder


Questo sembra funzionare all'inizio, ma poi fare un Ctrl-Z per esempio dopo aver premuto e rilasciato Alt non funziona la prima volta.
Alexandre G,

1

come trovato da qualche parte @MS

  1. Premi il tasto Windows + R, digita Regedit e premi Invio.
  2. Navigare verso HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Ora crea o modifica un valore stringa (REG_SZ) chiamato One imposta il suo valore su 1
  4. Disconnetti il ​​tuo computer per renderlo effettivo.

2
Invece di pubblicare la stessa identica risposta a più domande, dovresti adattare in modo specifico la tua risposta in base all'OP. Se una domanda è esattamente identica e si può rispondere esattamente con la stessa risposta, è necessario contrassegnare per chiudere una delle domande come duplicate anziché pubblicare risposte duplicate.
Mokubai

1
non ho tempo di cercare in che modo i moderatori dovrebbero contrassegnare i duplicati, scusa, forse potresti farlo? invece di pestare ppl che supportano con soluzioni.
Jens Marchewka,

1

Stavo cercando una soluzione allo stesso problema: correggere il modo in cui Windows reagisce a "Alt + Maiusc" (cambia la lingua di input), ma si digita male e si preme Alt, seguito da Maiusc, senza sovrapposizioni. In tal caso, Windows interpreterebbe Alt solo come "menu di selezione", lo spostamento singolo non fa nulla e tutti i caratteri che premete dopo selezionano e accedono a menu casuali che non intendete aprire.

Quando usi un'app di chat come Skype e sei un madrelingua straniera, passare con Alt + Shift è abbastanza spesso e puoi fare molte cose stupide in fretta.

@ user3419297 mi ha indicato la sua soluzione qui, che ho modificato per consentire ad Alt + Shift di accadere in tutti i casi. È solo uno # Se più, ma molto importante! Il brano pertinente:

; 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

Il mio script completo abilita anche due funzionalità di Linux: Alt + F2 apre un "comando di avvio rapido" e premendo Alt destra si minimizza la finestra attualmente attiva:

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

Funziona nel mio sistema con Autohotkey:

~LAlt::
KeyWait, LAlt
return

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

Fa sì che LAlt si comporti semplicemente come un tasto modificatore, senza innescare alcuna azione se viene premuto tutto da solo (come l'attivazione della barra dei menu della finestra attualmente attiva).

MODIFICARE:

Prova anche questo .


Vedi la mia risposta di seguito per una soluzione che funziona anche con la combinazione di tasti Alt + Maiusc.
anrieff

1

Nessuna delle soluzioni basate su AHK pubblicate qui ha funzionato per me. Tuttavia, con un po 'di confusione, ho capito che se si accoppia ALT con qualsiasi altro tasto prima che venga rilasciato, non agirà per evidenziare i menu. Invece di sprecare un tasto funzione, ho usato un codice di scansione non assegnato che non è mai stato usato per nessun altro scopo.

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

Spiegazione video:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

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


0

Ho appena pubblicato una soluzione che ho trovato in giro. Uccide qualsiasi Altmenu al 100%

Alt::
KeyWait, Alt
return

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

Se preferisci anche tu, puoi anche limitare questa soluzione a un singolo programma:

#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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.