Bagaimana cara menonaktifkan hanya beberapa cara pintas global Windows 10 untuk menggunakannya di aplikasi pihak ketiga?


10

1. Secara singkat

Saya ingin menonaktifkan hanya beberapa hotkey global default Windows 10, untuk menggunakan hotkeys ini untuk menjalankan perintah Sublime Text.



2. Detail

Saya memiliki Windows 32-bit 10.0.14393. Di Windows 10 kami memiliki banyak hotkey asli .

1. Saya ingin menonaktifkan

Misalnya, saya ingin menonaktifkan tombol pintas khusus Win+K,, Win+Hdan Ctrl+Win+P.

2. Saya tidak ingin menonaktifkan

Tapi, misalnya, saya tidak ingin menonaktifkan Win+Ddan Win+Rhotkey. Saya sering menggunakan hotkey ini.

3. Sublime Text bagian keymap

{
    "keys": ["super+k"],
    "command": "paste"
},


3. Tidak membantu

1. AutoHotkey Override

Kode saya:

#k::return

Win+Kglobal hotkey dinonaktifkan untuk saya, tetapi perintah Sublime Text saya pastetidak berjalan juga.

2. AutoHotkey menimpa hotkey Windows global ke hotkey aplikasi

Kode saya:

#IfWinActive ahk_class PX_WINDOW_CLASS
$#2::ControlSend, ahk_parent, % SubStr(A_ThisHotkey, 2)
#IfWinActive

Ini berfungsi untuk saya, tetapi saya memiliki bug, misalnya:

Bug AutoHotkey

Untuk hotkey lainnya saya juga punya bug. Alangkah baiknya jika seseorang akan memperbaiki kode ini.

3. SharpKeys

Program SharpKeys dapat menonaktifkan atau menetapkan kembali Winkunci, tetapi saya tidak menginginkan ini.

4. gpedit.msc

Saya dapat menonaktifkan beberapa hotkey default , tetapi:

  • Saya tidak dapat menonaktifkan (menggunakan gpedit.msc), misalnya Win+K,, Win+Hdan Ctrl+Win+P.
  • Saya dapat menonaktifkan Win+Ddan Win+R, tetapi saya ingin menggunakan tombol pintas ini.

5. Tombol menonaktifkan sederhana

Saya mengunduh tombol Nonaktifkan sederhana → Saya menonaktifkan Win+Kprogram → Saya me-restart Windows → Win+Ktidak dinonaktifkan untuk saya.

6. Parameter DisabledHotkeys di Windows Registry

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

Saya membuat parameter string DisableHotkeysdengan nilai KHPE.

DisabledHotkeys

Win+E, misalnya, dinonaktifkan untuk saya, tetapi

  • Win+P, Win+Kdan Win+Htidak dinonaktifkan.
  • Metode ini bukan untuk menonaktifkan, misalnya, Ctrl+Win+Pdan Ctrl+Win+F4.


4. Jangan menawarkan

  • Tolong, jangan menawarkan solusi untuk menonaktifkan semua pintasan global dengan Winkunci, bukan kustom;
  • Tolong, jangan menawarkan pintasan AutoHotkey redirect ke pintasan lainnya .

Jawaban:


1

Anda bisa menggunakan Autohotkey untuk memetakan kembali hotkey apa pun untuk mengirim hotkey lain menggunakan perintah Kirim :

#k::
Send {WIN up}
Send {k up}
Send ^+p
return

Setelah menekan Win + K ini akan mengirim Ctrl + Shift + P yang akan menampilkan Command Palette di Sublime Text, Anda dapat menggunakan cara ini untuk menimpa hotkey apa pun untuk mengirim hotkey lain, mengaturnya menjadi sesuatu seperti Ctrl + Shift + F3 dan menetapkan bahwa hotkey ke Sublime Text's paste (di keybindings) dan kemudian gunakan Win + K untuk mengirim Ctrl + Shift + F3 ke Sublime Text yang akan memanggil paste.

Script AutoHotkey:

#k::
Send {WIN up}
Send {K up}
Send !^+{F3}
return

Lengkungan kunci teks Luhur:

{ "keys": ["ctrl+alt+shift+f3"], "command": "paste" }

Edit :

Melihatmu Please, don't offer AutoHotkey shortcuts redirect to other shortcuts.mengapa tidak? Contoh di atas berfungsi bahkan untuk Win + R:

#r::
Send {WIN up}
Send {r up}
Send !^+{F3}
return

Teks berhasil disisipkan melalui Win + R dalam Teks Sublime.

Edit 2 :

Jika Anda benar-benar ingin menetapkan hotkey nyata, Anda dapat menonaktifkan semua Win+{KEY}hotkey, dan kemudian membuat hotkey Anda yang akan melakukan hal yang sama seperti defaultWin+{Key} hotkey , dan untuk hotkey lain tetapkan tindakan Anda sendiri.

Misalnya untuk Win + R:

explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

Bekerja, tetapi untuk beberapa hotkey sulit untuk menemukan cara memanggil tindakan mereka.


BladeMight, // 1) > Seen your Please, don't offer AutoHotkey shortcuts redirect to other shortcuts. why not? - Buat pintasan lain jika saya juga punya pintasan tanpa arti. Mengapa kita perlu pintasan tambahan Win+K, jika ada Ctrl+V? Tetapi saya belum berpikir, saya lupa bahwa kita dapat mengubah hotkey lama yang tidak nyaman, yang tidak kita gunakan. Win+Klebih nyaman kalau begitu Ctrl+Win+Alt+Shift+F3. Terima kasih atas solusinya!
Саша Черных

// 2) you could disable all Win+{KEY} hotkeys, - sama seperti solusi VoidVolker ? Dan bagaimana saya dapat menemukan angka seperti {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}untuk hotkey? Terima kasih.
Саша Черных

BladeMight, tolong, tambahkan returnsetelah setiap skrip Anda. Kalau tidak, jika saya menggunakan banyak skrip dalam satu .ahkfile, semua skrip berjalan untuk saya. Terima kasih.
Саша Черных

1
@ СашаЧерных Tentang Shell ::: di sini adalah daftar g-ek.com/clsid-guid-spisok-shell-v-windows-10 tetapi terutama untuk folder.
BladeMight

1
@ СашаЧерных juga di sini ipmnet.ru/~sadilina/Windows/227.html dapat membantu.
BladeMight

0

Lihatlah DisabledHotkeysnilai registri, diterapkan di cabang ini:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Menyetel data nilainya ke KHPakan memblokir WinKey+ K, WinKey+ Hdan WinKey+P kombinasi.

Src: Nilai registri DisabledHotkeys


w32sh, saya mengatur parameter DisableHotkeys → saya me-restart Windows → Win+P, Win+Kdan Win+Hpintasan global berjalan untuk saya seperti sebelumnya (. Terima kasih.
Саша Черных

Coba saja di sini. Tampaknya tidak berfungsi untuk PH dan K. Ini dapat memblokir WinKey + E sekalipun. Saya ingin menghapus jawaban saya.
w32sh

1
w32sh, saya menguji pada tombol cepat lainnya sekarang. Itu hanya dapat memblokir hotkeys seperti di gpedit.msc . Terima kasih.
Саша Черных
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.