[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == HotkeyHelper.WM_HOTKEY)
{
// 尋找最上層 MainForm (視專案結構調整層級)
MainForm mainform = this.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent as MainForm;
if (mainform != null)
{
if (mainform.WindowState == FormWindowState.Minimized)
mainform.WindowState = FormWindowState.Normal;
mainform.Activate();
}
}
}
代碼直接從專案複製,變數命名自說明。良好的重構比過多註解更有價值——代碼本身即文檔。