Winapi聲明:
[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);
Override winform窗體的WndProc:(就是接受到hotkey信息的時候,做 你想做的東西)
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == HotkeyHelper.WM_HOTKEY)
{
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();
}
}
}
------- ---------------------------------------------------------------------- ---
因為直接從程序中copy出來的,代碼沒有很多注釋,不過都是非常淺 顯易懂的東西,名字看上去還是一目了然的,另外說一句,我覺得如果重構得比 較好的代碼是不需要做過多的注釋的,代碼本身就是注釋,注釋用在解釋一些比 較混亂的行為意圖。希望對大家有幫助咯。