程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#的Hotkey簡單封裝(3)

C#的Hotkey簡單封裝(3)

編輯:關於C語言

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出來的,代碼沒有很多注釋,不過都是非常淺 顯易懂的東西,名字看上去還是一目了然的,另外說一句,我覺得如果重構得比 較好的代碼是不需要做過多的注釋的,代碼本身就是注釋,注釋用在解釋一些比 較混亂的行為意圖。希望對大家有幫助咯。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved