Вимкніть активацію панелі меню, коли натискаєте Alt у Windows 7


17

Як у Windows 7 можна відключити функцію, яка активує рядок меню при Altнатисканні?

Чи є деякі значення реєстру для зміни такої поведінки?

Відповіді:


2

Відповідь - ні. Як вони могли це зробити? Якщо вони зробили це, а хтось відключив це, вони відрізали б людей від дуже необхідних пунктів меню. Це був би кошмар.

Єдине, що ви можете зробити, це жити з цим або постійно активувати меню, натиснувши Організувати> Макет> Рядок меню.


9
Повинен бути коментар.
Моав

@Moab Я думав, що це відповідь, але я буду більш зрозумілий.
KCotreau

@KCotreau: Як ви говорите, є спосіб отримати рядок меню, тому для мене це зайве, щоб натискати клавішу ALT.
mjsr

@voodoomsr Але якщо у вас немає ALT, і ви раніше не постійно виставляли його, ви були б заблоковані, ні?
KCotreau

Програму легко відключити Alt в усьому світі, але протестувати її складно. Немає гарантії, що інша програма не перехопить дзвінок перед вами. . .
surfasb

12

Я вже використовую AutoHotkey , тому я додав цей рядок до свого сценарію, і це виправило цю дратівливу поведінку майже у всіх програмах:

~LAlt Up:: return

Він не працює в IE, але я все одно не використовую IE. :)

До речі, я також вбив роздратоване меню запуску через:

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

6
Це має бути прийнятою відповіддю.
шип

Дивіться мою відповідь нижче щодо рішення, яке також працює з комбінацією клавіш Alt + Shift.
anrieff

3

Я знайшов це питання, оскільки у мене нова клавіатура, а іноді випадково натискаю ALTклавішу під час введення електронних листів у Gmail. Фокус втрачається, і будь-який наступний натискання клавіші передається моєму браузеру (що може мати дуже дратує результати іноді).

Найкраще я знайшов рішення, яке є вдосконаленням, але не є ідеальним - із програмою для створення ключів під назвою KeyTweak , яка, наскільки я розумію, змінює реєстр .

У програмі ви позначаєте карту Left Altна Right Altта Right Altдо Left Alt. Це дозволяє Altфункціям все-таки дещо працювати ( Ctrl- Alt- Delete). Однак Alt- Tabчастково зламана (принаймні, на моїй Windows-7). Це дозволяє частково переходити до інших програм, але коли ви відпустите Altключ, "вибір" наступної програми не робиться (однак ви можете зробити це натисканням миші).

Це дуже погано, що Windows не може щось запобігти втраті уваги від помилкових натискань Alt. В Shiftі Ctrlключі не мають такого ефекту, наприклад.


Я використовую аналогічний підхід, використовуючи SharpKeys, перезавантаження порід реєстру! : D
міср

Перероблений через SharpKeys (KeyTweak не вдалося встановити, просто тихо виходить. Можливо, він не працює з XP?) , Перезавантажився, але трюк не спрацював.
Привіт-Ангел

2

Цей цікавий. Я не знаю жодної програми, крім Autokey. Або просто закінчити написання програми. Але налаштування реєстру немає. Це порушило б TONS програм.


Я пробую з автовибранням, але у мене є проблеми, які я пояснюю в двох питаннях, які я публікую на форумі AutoHotkey, ось найбільш пов'язане: autohotkey.com/forum/viewtopic.php?t=74033
mjsr

2

Ця автоматична клавіша працює для мене в Windows 10:

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

(Відповідь Зенгабора для мене не спрацювала).

Вся слава Рогведдеру


Здається, це спочатку працює, але потім робити Ctrl-Z, наприклад, після натискання та випуску Alt, працює не перший раз.
Олександр Г

1

як знайдено десь @MS

  1. Натисніть клавішу Windows + R, введіть Regedit і натисніть Enter.
  2. Перейдіть до HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Тепер створіть або змініть значення String (REG_SZ), яке викликається, Onі встановіть його значення на 1
  4. Відімкніть свій комп’ютер, щоб набути чинності.

2
Замість того, щоб розміщувати таку саму відповідь на кілька запитань, ви повинні спеціально адаптувати свою відповідь, щоб відповідати ОП. Якщо питання точно ідентичне і на нього можна відповісти точно такою ж відповіддю, тоді вам слід позначити, щоб закрити одне з питань як дублікат, а не розміщувати дублікати відповідей.
Мокубай

1
У мене немає часу шукати, як модератори повинні маркувати дублікати, вибачте, може, ви могли це зробити? замість того, щоб нарікати ppl, які підтримують рішення.
Jens Marchewka

1

Я шукав рішення тієї самої проблеми: виправлення того, як Windows реагує на "Alt + Shift" (зміна мови введення), але ви вводите помилку та натискаєте Alt, а потім Shift, без перекриття. У цьому випадку Windows трактує одинокий Alt як "меню вибору", одинокий Shift нічого не робить, а будь-які символи, які ви натискаєте після цього, вибираєте та вводите випадкові меню, які ви не збиралися відкривати.

Якщо ви користуєтесь додатком для чату, як-от Skype, і ви є диктором іноземної мови, перемикання з Alt + Shift відбувається досить часто, і ви можете поспішати робити багато дурних речей.

@ user3419297 вказав мені на своє рішення тут, яке я змінив, щоб Alt + Shift відбувався у всіх випадках. Це лише один # Якщо більше, але дуже важливий! Відповідний уривок:

; 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

Мій повний сценарій також включає дві Linuxish функції: Alt + F2 відкриває "швидку команду запуску", а натискання правої клавіші Alt мінімізує поточне активне вікно:

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

Це працює в моїй системі з автоматичною клавішею:

~LAlt::
KeyWait, LAlt
return

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

Це змушує LAlt поводитися виключно як модифікаційний ключ, не викликаючи жодних дій, якщо його натискати все само собою (наприклад, активація панелі меню поточного активного вікна).

Редагувати:

Спробуйте також це .


Дивіться мою відповідь нижче щодо рішення, яке також працює з комбінацією клавіш Alt + Shift.
anrieff

1

Жодне з розміщених тут рішень на базі AHK не працювало для мене. Однак, з деякими хитрощами, я зрозумів, що якщо ви з’єднаєте ALT з будь-якою іншою клавішею до її випуску, вона не буде діяти для виділення меню. Замість того, щоб витрачати функціональну клавішу, я використовував непризначений код сканування, який ніколи не використовується для будь-яких інших цілей.

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

Пояснення відео:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Посилання на повний сценарій:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk


0

Просто розміщуючи рішення, яке я знайшов навколо. Це вбиває будь-яке Altменю на 100%

Alt::
KeyWait, Alt
return

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

Якщо ви також віддаєте перевагу, ви також можете обмежити це рішення однією програмою:

#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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.