C\#시스템 단축 키 등록 실현 코드

먼저 System.Runtime.InteropServices 를 참조 합 니 다.의 네 임 스페이스,그리고 적당 한 위치 에 다음 코드 를 추가 하면 OK 입 니 다.주의:Form1Load 와 Form1FormClosed 는 직접 복사 할 수 없습니다~

[DllImport("user32")]
public static extern bool RegisterHotKey(IntPtr hWnd,int id,uint control,Keys vk );
// api
[DllImport("user32")]
public static extern bool UnregisterHotKey(IntPtr hWnd, int id);

private void Form1_Load(object sender, EventArgs e)
{
// ( , ID, , )
RegisterHotKey(this.Handle, 888, 2, Keys.A);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
// ( , ID)
UnregisterHotKey(this.Handle, 888);
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0312: // window
if (m.WParam.ToString().Equals("888")) //
MessageBox.Show(" ctrl+a");
break;
}
base.WndProc(ref m);
}
보조 키 설명:None=0,Alt=1,crtl=2,Shift=4,Windows=8 보조 키 가 여러 개 있 으 면 alt+crtl 은 3 을 직접 추가 하면 됩 니 다.

좋은 웹페이지 즐겨찾기