Daftar kekunci pintas global untuk mengesan CTRL SHIFT (huruf) dalam WPF dan .NET 3.5
Apabila membangunkan aplikasi desktop dalam WPF dengan .NET 3.5, mengikat kepada kombinasi kekunci tertentu atau malah kekunci Windows adalah keperluan biasa. Mari terokai cara melaksanakan ciri ini:
Daftar kekunci pintas global
Untuk mendaftar hotkey global yang mencetuskan tindakan tertentu apabila ditekan, anda boleh menggunakan fungsi RegisterHotKey dan UnregisterHotKey dalam pustaka user32.dll. Fungsi ini mengambil hujah yang mentakrifkan pengubah suai hotkey (contohnya, kekunci Control, Shift atau Windows) dan kod kunci maya yang mewakili huruf yang diingini.
Terikat pada kunci
Dalam aplikasi WPF anda, cipta kelas HotKey untuk mengurus pendaftaran hotkey dan pengendalian acara. Kelas ini boleh dimulakan dengan kombinasi kekunci yang diingini dan tindakan yang akan dilakukan apabila hotkey dicetuskan. Panggil kaedah Register() untuk mendaftar hotkeys seluruh sistem.
Lepaskan kekunci
Apabila anda tidak lagi memerlukan hotkey tertentu, anda boleh memanggil kaedah Unregister() untuk memadam pendaftarannya. Ini memastikan kekunci pintas tidak lagi bertindak balas kepada input.
Kod sampel
Kod yang disediakan menunjukkan pelaksanaan lengkap kelas HotKey, yang boleh digunakan untuk mengikat mana-mana kombinasi kekunci, termasuk CTRL SHIFT (huruf). Ia juga menunjukkan pendaftaran dan mekanisme pengendalian acara:
<code class="language-c#">public class HotKey : IDisposable { public Key Key { get; private set; } public KeyModifier KeyModifiers { get; private set; } public Action<HotKey> Action { get; private set; } public int Id { get; set; } // (代码继续...) } private static void ComponentDispatcherThreadFilterMessage(ref MSG msg, ref bool handled) { // (代码继续...) }</code>
<code class="language-c#">// 使用示例: _hotKey = new HotKey(Key.F9, KeyModifier.Shift | KeyModifier.Win, OnHotKeyHandler); private void OnHotKeyHandler(HotKey hotKey) { // 处理热键事件 }</code>
Coretan kod ini mencipta objek hotkey dengan KeyModifier Shift and Win serta Key F9. Apabila kaedah OnHotKeyHandler dilaksanakan, ia menunjukkan bahawa kombinasi hotkey ini telah ditekan.
Mengandungi kunci Windows
Untuk mendaftarkan hotkey yang termasuk kekunci Windows, anda boleh menggunakan bendera KeyModifier.Win dalam parameter KeyModifiers apabila memanggil kaedah Daftar. Ini membolehkan anda menangkap kombinasi hotkey dengan pengubah suai ini, seperti Win L untuk mengunci komputer.
Atas ialah kandungan terperinci Bagaimana untuk Mendaftar Hotkey CTRL SHIFT (LETTER) Global dalam WPF dengan .NET 3.5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!