Windows 7でAltが押されたときにメニューバーのアクティブ化を無効にする


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でメールを入力するときに誤ってキーを押すことがあるためです。フォーカスが失われ、後続のキーストロークがブラウザに渡されます(時々非常に迷惑な結果になることがあります)。

改善が、完璧ではない私が見つけた最良の解決策は、と呼ばれるkeymapperプログラムであるKeyTweak限り私は理解して、レジストリを変更します

プログラムでは、およびにマップLeft Altします。これが許すの機能はまだ多少動作するように(- - )。 ただし、- は部分的に壊れています(少なくとも私のWindows-7では)。他のアプリケーションに部分的に移動することはできますが、キーを放しても、次のアプリケーションの「選択」は行われません(ただし、マウスクリックで行うことができます)。Right AltRight AltLeft AltAltCtrlAltDeleteAltTabAlt

Windowsには、誤ったAltプレスによるフォーカスの喪失を防ぐものがありません。ShiftそしてCtrlキーは、たとえば、その効果はありません。


私は、SharpKeysを使用して、レジストリの再マッピングを行う同様のアプローチを使用しています!:D
mjsr

SharpKeysを介して再マップ(KeyTweakをインストールできず、ただ単に終了します。おそらくXPで動作しないのでしょうか?)、再起動しましたが、トリックは機能しませんでした。
ハイエンジェル14年

2

これは面白いです。Autokey以外のプログラムは知りません。または、プログラムを書くことになります。ただし、レジストリ設定はありません。それはプログラムのトンを壊します。


私はautohotkeyを試してみましたが、AutoHotkeyフォーラムに投稿する2つの質問で説明する問題があります。最も関連があるのは、autohotkey.com
forum / viewtopic.php?t

2

この自動ホットキーは、Windows 10で動作します。

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

(Zengaborの答えは私には役に立たなかった)。

ローウェダーへのすべての栄光


これは最初は動作するように見えますが、Altを押して放した後にCtrl-Zを実行することは最初は動作しません。
アレクサンドルG

1

@MSのどこかにあるように

  1. Windowsキー+ Rを押し、Regeditと入力してEnterキーを押します。
  2. 案内する HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. 呼び出された文字列値(REG_SZ)を作成または変更し、Onその値を1に設定します
  4. コンピュータをログオフして有効にします。

2
複数の質問にまったく同じ回答を投稿するのではなく、OPに合わせて回答を具体的に調整する必要があります。質問が完全に同一であり、まったく同じ回答で回答できる場合は、重複した回答を投稿するのではなく、質問の1つを重複として閉じるようにフラグを立てる必要があります。
木梅

1
モデレーターが重複をマ​​ークする方法を検索する時間がありませんでした。ソリューションでサポートする人々を苦しめる代わりに。
イェンスマルケカ16

1

私は同じ問題の解決策を探していました:Windowsが「Alt + Shift」(入力言語を変更する)にどのように反応するかを修正しました。その場合、Windowsは孤独なAltを「選択メニュー」と解釈し、孤独なShiftは何もしません。その後押す文字は、選択したくないランダムなメニューを選択して入力します。

Skypeのようなチャットアプリを使用していて、あなたが外国語話者である場合、Alt + Shiftで切り替えることは非常に頻繁であり、あなたは急いで多くの愚かなことをすることができます。

@ user3419297は、ここで彼のソリューションを示しており、すべての場合にAlt + Shiftが発生するように修正しました。#それ以上の場合は1つだけですが、非常に重要なものです!関連する抜粋:

; 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

私の完全なスクリプトは、2つの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

これは私のシステムでAutohotkeyを使用して動作します:

~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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.