Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menetapkan Kekunci Panas Global dalam C# untuk Mencetuskan Tindakan Walaupun Aplikasi Saya Diminimumkan?
Tetapkan kekunci pintas global dalam C#
Anda mungkin perlu menangkap ketukan kekunci tertentu untuk mencetuskan tindakan apabila program diminimumkan atau tidak aktif. Artikel ini menerangkan cara mendaftar kekunci pintas global dalam C# supaya acara boleh dilakukan dalam aplikasi walaupun aplikasi itu bukan tetingkap aktif.
Penyelesaian:
Untuk menangkap kekunci pintas yang tidak berkaitan dengan aplikasi aktif, kami boleh menggunakan fungsi API Win32 RegisterHotKey
dan UnregisterHotKey
. Fungsi ini berinteraksi dengan infrastruktur kekunci pintas peringkat sistem Windows.
Pelaksanaan kod:
Kod yang disediakan menggunakan kelas khusus KeyboardHook
yang merangkumi pendaftaran hotkey dan fungsi pengendalian acara.
<code class="language-csharp">public sealed class KeyboardHook : IDisposable { // 使用Windows注册热键。 [DllImport("user32.dll")] private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk); // 使用Windows注销热键。 [DllImport("user32.dll")] private static extern bool UnregisterHotKey(IntPtr hWnd, int id); ... }</code>
Penggunaan:
<code class="language-csharp">// 注册Control + Alt + F12热键组合。 hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Alt, Keys.F12); // 按键事件处理程序。 void hook_KeyPressed(object sender, KeyPressedEventArgs e) { label1.Text = e.Modifier.ToString() + " + " + e.Key.ToString(); }</code>
Nota Penting:
Output yang disemak ini mengekalkan imej dan format asalnya sambil menyusun semula teks untuk kejelasan dan aliran yang dipertingkatkan juga sedikit diubah untuk mengelakkan pertindihan tepat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Kekunci Panas Global dalam C# untuk Mencetuskan Tindakan Walaupun Aplikasi Saya Diminimumkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!