ปิดใช้งานการเปิดใช้งานแถบเมนูเมื่อกด Alt ใน Windows 7


17

ใน Windows 7 ฉันจะปิดการใช้งานฟังก์ชั่นที่เปิดใช้งานแถบเมนูได้อย่างไรเมื่อAltกด?

มีค่ารีจิสตรีเพื่อแก้ไขพฤติกรรมนี้หรือไม่?

คำตอบ:


2

คำตอบคือไม่ พวกเขาจะทำอย่างนั้นได้อย่างไร? หากพวกเขาทำเช่นนั้นและมีคนปิดการใช้งานพวกเขาจะตัดคนออกจากรายการเมนูที่จำเป็นมาก มันจะเป็นฝันร้าย

สิ่งเดียวที่คุณทำได้คือใช้งานกับสิ่งนั้นหรือเปิดใช้งานเมนูอย่างถาวรโดยคลิกจัดระเบียบ> เค้าโครง> แถบเมนู


9
ควรเป็นความคิดเห็น
Moab

@Moab ฉันคิดว่ามันเป็นคำตอบ แต่ฉันจะชัดเจนมากขึ้น
KCotreau

@KCotreau: อย่างที่คุณพูดมันมีวิธีที่จะได้รับแถบเมนูดังนั้นสำหรับฉันนั้นไม่จำเป็นเลยที่ปุ่ม ALT สร้างขึ้นมา
mjsr

@voodoomsr แต่ถ้าคุณไม่มี ALT และก่อนหน้านี้คุณไม่ได้เปิดเผยอย่างถาวรคุณจะถูกล็อคใช่ไหม?
KCotreau

มันง่ายสำหรับโปรแกรมที่จะปิดการใช้งาน Alt ทั่วโลก แต่การทดสอบมันยาก ไม่รับประกันว่าโปรแกรมอื่นจะไม่ขัดขวางการโทรก่อนคุณ . .
surfasb

12

ฉันเคยใช้AutoHotkeyอยู่แล้วดังนั้นฉันจึงเพิ่มบรรทัดนี้ลงในสคริปต์และแก้ไขพฤติกรรมที่น่ารำคาญนี้ในแอปพลิเคชันเกือบทั้งหมด:

~LAlt Up:: return

มันไม่ทำงานใน IE แต่ฉันไม่ได้ใช้ IE อยู่ดี :)

BTW ฉันยังฆ่าป๊อปอัพเมนูเริ่มต้นที่น่ารำคาญผ่าน:

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

6
อันนี้ควรเป็นคำตอบที่ได้รับการยอมรับ
หนาม

ดูคำตอบของฉันด้านล่างเพื่อดูวิธีการแก้ปัญหาที่ทำงานร่วมกับปุ่มกด Alt + Shift
anrieff

3

ฉันพบคำถามนี้เพราะฉันมีแป้นพิมพ์ใหม่และบางครั้งก็กดปุ่มโดยไม่ได้ตั้งใจALTเมื่อพิมพ์อีเมลใน Gmail โฟกัสหายไปและการกดแป้นใด ๆ ต่อไปนี้จะถูกส่งผ่านไปยังเบราว์เซอร์ของฉัน (ซึ่งอาจมีผลลัพธ์ที่น่ารำคาญมากในบางครั้ง)

ทางออกที่ดีที่สุดที่ฉันพบซึ่งมีการปรับปรุง แต่ไม่สมบูรณ์แบบอยู่กับโปรแกรมที่เรียกว่า keymapper KeyTweakซึ่งเท่าที่ผมเข้าใจการเปลี่ยนแปลงรีจิสทรี

ในโปรแกรมที่คุณแมปLeft AltไปRight AltและจะRight Alt Left Altสิ่งนี้ทำให้Altฟังก์ชั่นยังคงใช้งานได้ค่อนข้าง ( Ctrl- Alt- Delete) อย่างไรก็ตามAlt- Tabบางส่วนเสียหาย (อย่างน้อยใน Windows-7 ของฉัน) ช่วยให้คุณสามารถย้ายไปยังแอปพลิเคชั่นอื่นบางส่วนได้ แต่เมื่อคุณปล่อยAltปุ่ม "การเลือก" ของแอปพลิเคชั่นต่อไปจะไม่ถูกสร้างขึ้นมา (คุณสามารถทำได้ด้วยการคลิกเมาส์อย่างไรก็ตาม)

เป็นเรื่องที่แย่เกินไป Windows ไม่มีสิ่งที่จะป้องกันการสูญเสียการโฟกัสจากการกด Alt ที่ผิดพลาด ShiftและCtrlปุ่มไม่ได้มีผลว่าตัวอย่างเช่น


ฉันใช้วิธีที่คล้ายกันโดยใช้ SharpKeys ซึ่งเป็นรีแม็พของรีจิสตรี! : D
mjsr

ทำการแมปผ่าน SharpKeys (KeyTweak ไม่สามารถติดตั้งได้เพียงออกจากที่เป็นไปได้บางทีมันอาจไม่ทำงานกับ XP ใช่ไหม)รีบูตเครื่อง แต่เคล็ดลับไม่ทำงาน
สวัสดีแองเจิล

2

อันนี้น่าสนใจ ฉันไม่รู้จักโปรแกรมใด ๆ นอกจาก Autokey หรือเพียงแค่จบการเขียนโปรแกรม แต่ไม่มีการตั้งค่ารีจิสทรี ที่จะทำลายโปรแกรมตัน


ฉันลองกับ autohotkey แต่ฉันมีปัญหาที่ฉันอธิบายในสองคำถามที่ฉันโพสต์ในฟอรั่ม AutoHotkey นี่คือสิ่งที่เกี่ยวข้องมากที่สุด: autohotkey.com/forum/viewtopic.php?t=74033
mjsr

2

ปุ่มลัดอัตโนมัตินี้ใช้งานได้สำหรับฉันใน Windows 10:

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

(คำตอบของ Zengabor ไม่ได้ผลสำหรับฉัน)

ความรุ่งโรจน์ทั้งหมดถึงRohwedder


ดูเหมือนว่าจะใช้งานได้ในตอนแรก แต่จากนั้นทำ Ctrl-Z เช่นหลังจากกดและปล่อย Alt ไม่ทำงานในครั้งแรก
Alexandre G

1

เท่าที่พบที่ไหน @MS

  1. กด Windows Key + R พิมพ์ Regedit แล้วกด Enter
  2. นำทางไปยัง HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. ตอนนี้สร้างหรือแก้ไขค่าสตริง (REG_SZ) ที่เรียกOnและตั้งค่าเป็น 1
  4. ออกจากระบบคอมพิวเตอร์ของคุณเพื่อให้มีผล

2
แทนที่จะโพสต์คำตอบเดียวกันกับคำถามหลาย ๆ ข้อคุณควรปรับคำตอบของคุณให้เหมาะกับ OP โดยเฉพาะ หากคำถามเหมือนกันทุกประการและสามารถตอบโดยคำตอบเดียวกันได้ทั้งหมดคุณควรตั้งค่าสถานะเพื่อปิดคำถามใดคำถามหนึ่งซึ่งเป็นคำถามที่ซ้ำกันแทนที่จะโพสต์คำตอบที่ซ้ำกัน
Mokubai

1
ฉันไม่มีเวลาที่จะค้นหาว่าผู้ดูแลควรทำเครื่องหมายรายการที่ซ้ำกันขอโทษคุณอาจจะทำอย่างนั้น? แทน bumming ppl ที่สนับสนุนด้วยโซลูชัน
Jens Marchewka

1

ฉันค้นหาวิธีแก้ไขปัญหาเดียวกัน: แก้ไขวิธีที่ Windows ตอบสนองต่อ "Alt + Shift" (เปลี่ยนภาษาที่ป้อน) แต่คุณพิมพ์ผิดและกด Alt ตามด้วย Shift โดยไม่มีการทับซ้อนกัน ในกรณีดังกล่าว Windows จะตีความโดด ๆ ว่า "เลือกเมนู" การกดปุ่มเดียวจะไม่ทำอะไรเลยและตัวละครใด ๆ ที่คุณกดหลังจากนั้นเลือกและเข้าสู่เมนูสุ่มที่คุณไม่ต้องการเปิด

เมื่อใช้แอพแชทเช่น 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

สิ่งนี้ทำงานในระบบของฉันด้วย 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% 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.