Nonaktifkan (lepaskan) hotkey Win + Arrows default untuk membuatnya dapat digunakan di aplikasi lain


9

Pada Windows 7 saya ingin melepas ikatan default Win+ Up/ Down/ Left/ Rightsehingga ini dapat diikat langsung * di aplikasi lain. Bagaimana ini bisa dilakukan?

Tombol cepat ini dapat dengan mudah dinonaktifkan oleh:

  1. Pergi ke Kemudahan Pusat Akses ,
  2. memilih Membuat keyboard lebih mudah digunakan , dan
  3. Memeriksa Cegah jendela agar tidak disusun secara otomatis saat dipindahkan ke tepi layar :

    Pengaturan

Tetapi bahkan ketika menggunakan pengaturan ini dan memiliki hotkey dinonaktifkan (mereka tidak melakukan apa-apa) hotkey masih tidak dapat terikat pada aplikasi lain.


Saya telah mencoba cara berikut dan tidak ada yang berhasil :

  1. Membuat perubahan di atas dalam Kemudahan Akses Pusat
  2. Kebijakan yang diaktifkan Matikan hotkey Windows + X , yang sama dengan pengaturan: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWinKeyske 1. (Dengan pengaturan ini saja, hotkey yang dimaksud masih berfungsi seperti biasa.)
  3. Menonaktifkan kunci windows seperti yang dijelaskan dalam KB216893 dengan pengaturan System\CurrentControlSet\Control\Keyboard Layout\Scancode Map. Ini menonaktifkan kunci windows sepenuhnya sehingga tidak dapat dijilid atau digunakan di mana pun.
  4. Kebijakan yang diaktifkan Matikan Windows Mobility Center


Beberapa googling mengungkapkan pos ini :

kombinasi tombol Win + Arrow adalah salah satu dari beberapa (bersama dengan Win + P, Win + U dan Win + L) yang entah bagaimana "super-terdaftar / dilindungi undang-undang" di Windows 7. Saya telah mencoba melacak di mana dan kapan mereka dicadangkan, tetapi sejauh ini muncul kosong. Saya juga telah mencoba berbagai trik untuk memesannya sebelum Windows memiliki kesempatan, tetapi sejauh ini tidak ada yang berhasil. Kombo kunci ini hanya dikunci ke Windows pada level intrinsik yang dalam, baik Anda benar-benar menggunakannya atau tidak.

Orang ini tidak menemukan jalan, tetapi mungkin beberapa dari Anda tahu lebih banyak. Mungkin ada beberapa dll / exe yang dapat dengan mudah kita tambal. ;-)

*) Saya ingin menghindari menggunakan alat lain seperti AutoHotKey untuk menghubungkan hotkey dan memetakannya kembali ke sesuatu yang lain yang dapat diikat dalam aplikasi umum.


Sudahkah Anda mencoba memodifikasi HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ NoWinKeys? Pertanyaan Anda mengatakan Anda mengubah yang ada di HKCU. Buat kunci jika tidak ada, reboot, dan lihat apakah ada efeknya.
Zac B

Jawaban:


7

Orang ini tidak menemukan jalan, tetapi mungkin beberapa dari Anda tahu lebih banyak.

Tidak mungkin. Saya telah mencoba mencari cara untuk mencegah Windows Vista + memonopoli hotkeys sejak mereka keluar.

Faktanya adalah, tidak seperti kebanyakan hotkey Windows yang dapat dinonaktifkan dengan NoWinKeyspengaturan, ada beberapa yang tidak terdaftar melalui Windows Explorer. Sebaliknya, level CSRSS yang lebih tinggi (lebih rendah?) Mendaftarkan beberapa hotkey di awal proses boot, jadi Anda tidak hanya tidak dapat mendaftarkannya terlebih dahulu, tetapi tidak ada pengaturan untuk tidak menggunakannya. Ini adalah kunci-kunci yang ditangani secara khusus:

Win + P
Win + L
Win + U
Win + G
Win + X
Ctrl + Shift + Esc
Ctrl + Alt + Del

Mereka dapat ditimpa oleh program-program tertentu seperti AutoHotkey, tetapi tidak dengan cara yang Anda cari (memungkinkan program untuk mendaftarkannya secara global).

Mungkin ada beberapa dll / exe yang dapat dengan mudah kita tambal. ;-)

Itu juga sangat tidak mungkin. Ini akan memerlukan komponen inti peretasan Windows dan bahkan jika lokasi hotkey yang terdaftar ditemukan dan ditambal, itu berarti Anda harus mencegah perangkat lunak keamanan dari melihat tambalan sebagai infeksi dan pastikan untuk menerapkan kembali tambalan setelah setiap Pembaruan Windows.


Anda dapat mencoba Windows Hotkey Explorer yang menggunakan kait Windows untuk menentukan sumber hotkey global. Sayangnya itu hanya menunjukkan kombo khusus ini dilindungi oleh System, yang berarti bahwa mereka dimuat oleh inti Windows. Yang lebih menarik dari WHE adalah ia mengatakan hal yang sama untuk tombol-tombol ini bahkan pada Windows XP di mana mereka tidak digunakan. Ini menyiratkan bahwa mereka sebenarnya tidak dibaca seperti yang lain, dan bukannya hard-coded, yang sayangnya berarti bahwa bahkan dengan kait Windows tingkat rendah, WHE tidak dapat langsung mengaksesnya. Ini membuatnya sangat tidak mungkin bahwa segala jenis patch mudah, driver, dll dapat dibuat untuk menghentikan mereka dari terikat.


Sayangnya, solusi terbaik, paling efektif adalah meninggalkan umpan balik Microsoft dan berharap mereka mengubahnya dalam pembaruan di masa depan, tetapi itu jarang terjadi jika berhasil.

Dalam kasus saya, saya cukup menyerah dan mengubah hotkey XMPlay saya untuk menggunakan tombol panah pada keypad numerik.


Sedikit terkait: Saya menemukan utas ini "RegisterHotkey - list?" yang memiliki beberapa info yang menarik dan mungkin bisa membantu menemukan di mana hotkey diatur. Jika saya mengerti benar tentang Vista (dan Win7 saya berasumsi) ada _gphkHashTablefungsi kernel yang dapat Anda gunakan untuk mendapatkan daftar hotkey terdaftar. Googling untuk itu hanya menemukan beberapa situs berbahasa Mandarin - Saya kira hanya beberapa orang di Tiongkok yang suka bermain dengan ini. ;-)
Qtax

Hal ini mungkin, tetapi Anda akan harus menginstal kail untuk mendapatkan informasi, kemudian menulis dan menginstal driver untuk memuat awal proses boot untuk menambal kode dalam memori untuk menghindari menambal file pada disk.
Synetech

0

Setidaknya ada dua alat untuk melakukan ini.

Yang pertama adalah Microsoft Keyboard Layout Creator

masukkan deskripsi gambar di sini

Yang kedua adalah KeyTweak

masukkan deskripsi gambar di sini

Untuk informasi lebih lanjut tentang pertanyaan terkait: Program untuk memprogram ulang keyboard saya?


1
Bagaimana cara memetakan kembali kunci membantu seseorang melepaskan ikatan tombol pintas yang dimaksud? Bagaimana ini menjawab pertanyaan?
Qtax

Satu-satunya hal yang dapat Anda lakukan dengan 'solusi' ini adalah memetakan kembali keyboard agar tidak memiliki kunci windows, menggantinya dengan beberapa kode pindai lainnya, lalu memetakan kunci itu. BUKAN solusi yang baik, karena apa pun yang mencoba menggunakan kunci Win untuk apa pun tidak akan dapat digunakan.
Michael Kohne

Hanya menebak-nebak di sini, tetapi Anda secara teoritis dapat membuat WinKey palsu, daftarkan handler Anda untuk mendapatkan semua acara terkait, dan hanya rethrow peristiwa dengan kunci windows nyata. Itu akan memberi Anda cara untuk menyesuaikan pemetaan apa pun yang terkait dengan WinKey seperti yang Anda inginkan ... Meskipun, tidak mungkin jika ...
Vajk Hermecz

0

AutoHotkey dapat mengesampingkan dan melakukan apa pun yang Anda suka dengan tombol pintas Windows.
Lihat dokumentasi ini: Overriding atau Menonaktifkan Hotkeys .

AutoHotkey juga dapat melakukan tindakannya tergantung pada jendela atau proses saat ini, yang pada dasarnya mengikat kunci berbeda untuk proses yang berbeda. Lihat misalnya Mengaktifkan dan memanipulasi windows .

Untuk informasi lebih lanjut tentang AutoHotkey, lihat:

Tutorial dan Tinjauan Umum
Dokumentasi AutoHotkey


3
Mereka dengan jelas mengatakan bahwa mereka tidak ingin menggunakan AutoHotkey. Kecuali Anda tahu cara memiliki AHK memungkinkan program lain untuk mengikat kunci ini, maka saya tidak melihat bagaimana ini berlaku untuk pertanyaan.
Synetech

Anda bisa mengaitkan hotkey di AutoHotkey sehingga mereka tidak melakukan apa-apa atau melakukan beberapa tindakan di AHK, tetapi ini tidak memungkinkan Anda untuk mengikat hotkey ini di aplikasi lain, yang merupakan pertanyaan. (Inilah sebabnya saya menyatakan dalam pertanyaan bahwa jawaban AHK tidak terlalu menarik.)
Qtax

@Qtax: Pengikatan kunci per-jendela / proses AutoHotkey bagi saya sepertinya solusi. Mengapa itu tidak berhasil untuk Anda?
harrymc

1
@harrymc, karena jika misalnya, dia ingin Winamp digunakan Win+Leftuntuk mundur, tidak ada cara agar Autohotkey melakukan itu. Saya kira Anda bisa memalsukannya dengan meminta Winamp menggunakan kunci yang berbeda, mengatakan Win+Auntuk mundur, dan kemudian menulis skrip AHK yang mendeteksi ketika tombol itu ditekan saat jendela Winamp aktif dan kemudian mengirim Winamp Win+A, tetapi itu tidak ada gunanya karena keseluruhan poin ke hotkey global adalah membuat mereka berfungsi, apa pun jendela yang aktif.
Synetech

1
@Qtax: Saya tidak tahu solusi yang lebih baik. Saya minta maaf jika saya menganggap kurangnya pengetahuan tentang AHK di pihak Anda.
harrymc

0

Anda dapat menambahkan registri berikut [MENANG + R -> regedit.exe]:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System + sisi kanan, buat DWORD baru 32-bit + Klik dua kali pada entri DisableLockWorkstation yang baru dibuat dan ubah nilainya dari 0 (nol) menjadi 1 (satu).

Ref. http://www.intowindows.com/how-to-disable-windowsl-shortcut-key-in-windows-78-1/

PS. Tidak perlu me-restart xD


Artikel dan pengaturan berbicara tentang hotkey Win + L. Apakah ini melepaskan ikatan tombol win + panah?
Qtax

Tidak, itu sebenarnya hanya melepas ikatan + L. Tetapi melihat bahwa ini mungkin, saya yakin ada cara untuk fungsi panah.
aemonge
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.