C 全域性熱鍵設定與窗體熱鍵設定例項

2022-09-26 08:09:13 字數 1449 閱讀 8924

1、窗體熱鍵

首先要設定主窗體keypreview為true,可直接在屬性中進行設定,

或者在窗體載入中設定: this.keypreview = true;

然後新增窗體keydown事件,如下:

複製** **如下:

private void frmmain_keydown(object sender, keyeventargs e)

}2、全域性熱鍵設定

定義api函式 》 註冊熱鍵 》 解除安裝熱鍵

我這裡定義了apphotkey類,全部**如下:

複製** **如下:

public class apphotkey

///

/// 註冊熱鍵

///

/// 視窗控制代碼

/// 熱鍵id

/// 組合鍵

/// 熱鍵

public static void regkey(intptr hwnd, int hotkey_id, keymodifiers keymodifiers, keys key)

www.cppcns.com                    else}}

catch (exception)

}///

/// 登出熱鍵

///

/// 視窗控制代碼

/// 熱鍵id

public static void unregkey(intptr hwnd, int hotkey_id)

}重寫窗體的wndproc函式,在視窗建立的時候註冊熱鍵,視窗銷毀時銷毀熱鍵,**如下:

複製** **如下:

private const int wm_hotkey = 0x312; //視窗訊息-熱鍵

private const int wm_create = 0x1; //視窗訊息-建立

private const int wm_destroy = 0x2; //視窗訊息-銷毀

private const int space = 0x3572; //熱鍵id

protected override void wndproc(ref message m)

break;

case wm_create: //視窗訊息-建立

apphotkey.regkey(handle, space, apphotkey.keymodifiers.ctrl | apphotkey.keymodifiers.shift | apphotkey.keymodifiers.alt, keys.s);

break;

case wm_destroy: //視窗訊息-銷毀

apphotkey.unregkey(handle, space); //銷毀熱鍵

break;

default:

break;

}本文標題: c#全域性熱鍵設定與窗體熱鍵設定例項

本文位址:

C 全域性熱鍵設定 與 窗體熱鍵設定

1 窗體熱鍵 首先要設定主窗體keypreview為true,可直接在屬性中進行設定,或者在窗體載入中設定 this.keypreview true 然後新增窗體keydown事件,如下 private void frmmain keydown object sender,keyeventargs ...

C 註冊窗體熱鍵

熱鍵 通過鍵盤上的組合鍵對目標窗體實施使用者相關的操作,例如,如果你的機器上安裝了金山詞霸2007 當在鍵盤上按 ctrl alt z 這樣的組合時,會顯示窗體或最小化到隱藏。這樣的是通過winapi的registerhotkey 函式實現的。net framework2.0並不提供有關窗體熱鍵註冊...

C 程式熱鍵設定

採用api的方式來實現。首先定義這些熱鍵註冊的api,如下 dllimport user32 public static extern bool registerhotkey intptr hwnd,int id,uint control,keys vk 註冊熱鍵的api dllimport use...