using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc);
Sau cái
InitializeComponent();
int HotKeyCode = (int)Keys.F9;
// Register the "F9" hotkey
Boolean F9Registered = RegisterHotKey(
this.Handle, UniqueHotkeyId, 0x0000, HotKeyCode
);
protected override void WndProc(ref Message m)
{
// 5. Catch when a HotKey is pressed !
if (m.Msg == 0x0312)
{
int id = m.WParam.ToInt32();
// MessageBox.Show(string.Format("Hotkey #{0} pressed", id));
if (id == 0)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
}
base.WndProc(ref m);
}
Để form mở, sau đó ẩn đi
Tham khảo:
https://stackoverflow.com/questions/2450373/set-global-hotkeys-using-c-sharp
https://laptrinhvb.net/bai-viet/devexpress/---Csharp----Huong-dan-tao-hotkey-cho-ung-dung-winform/61a1ae9cd3c11d33.html
https://ourcodeworld.com/articles/read/573/how-to-register-a-single-or-multiple-global-hotkeys-for-a-single-key-in-winforms
Mở phần mềm bằng phím nóng trong c#