FLASH游戏 | 站长工具 | 技术学院 忙鱼网 怕笑网 
积木网
VBScript手册  |  C#  |  C++  |  PB  |  Builder  |  Ajax  |  VB  |  VC  |  JAVA  |  delphi  |  J2EE  |  SQL  |  XML  |  PHP  |  .NET  |  ASP  |  JSP  |  CGI  |  Script  |  综合  |  HTML
推荐: PHP5中文在线手册 | Smarty中文手册(模板引擎) | css2样式表中文手册 | ASP开发手册 | JScript开发手册
积木网 >> 程序开发 >> .NET

c#中设置快捷键

来源:互联摘选 日期:2001年01月17日 11:55:27

×î½üÕÒÁËһЩ×ÊÁÏ£¬Êǽ²ÔÚC££ÖÐÉèÖÿì½Ý¼üÔËÐз½·¨»ò³ÌÐòµÄ

ÒªÉèÖÿì½Ý¼ü±ØÐëʹÓÃuser32.dllÏÂÃæµÄÁ½¸ö·½·¨¡£

BOOL RegisterHotKey(
¡¡HWND hWnd,
¡¡int id,
¡¡UINT fsModifiers,
¡¡UINT vk
);

¡¡¡¡ºÍ

BOOL UnregisterHotKey(
¡¡HWND hWnd,
¡¡int id
);
ת»»³ÉC#´úÂ룬ÄÇôÊ×ÏȾÍÒªÒýÓÃÃüÃû¿Õ¼äSystem.Runtime.InteropServices;À´¼ÓÔØ·ÇÍйÜÀàuser32.dll¡£ÓÚÊÇÓÐÁË£º

[DllImport("user32.dll", SetLastError=true)]
public static extern bool RegisterHotKey(
¡¡IntPtr hWnd, // handle to window
¡¡int id, // hot key identifier
¡¡KeyModifiers fsModifiers, // key-modifier options
¡¡Keys vk // virtual-key code
);

[DllImport("user32.dll", SetLastError=true)]
public static extern bool UnregisterHotKey(
¡¡IntPtr hWnd, // handle to window
¡¡int id // hot key identifier
);


[Flags()]
public enum KeyModifiers
{
¡¡None = 0,
¡¡Alt = 1,
¡¡Control = 2,
¡¡Shift = 4,
¡¡Windows = 8
}

¡¡¡¡ÕâÊÇ×¢²áºÍÐ¶ÔØÈ«¾Ö¿ì½Ý¼üµÄ·½·¨£¬ÄÇôÎÒÃÇÖ»ÐèÒªÔÚForm_LoadµÄʱºò¼ÓÉÏ×¢²á¿ì½Ý¼üµÄÓï¾ä£¬ÔÚFormClosingµÄʱºòÐ¶ÔØÈ«¾Ö¿ì½Ý¼ü¡£Í¬Ê±£¬ÎªÁ˱£Ö¤¼ôÌù°åµÄÄÚÈݲ»Êܵ½ÆäËû³ÌÐòµ÷ÓüôÌù°åµÄ¸ÉÈÅ£¬ÔÚForm_LoadµÄʱºò£¬ÎÒÏȽ«¼ôÌù°åÀïÃæµÄÄÚÈÝÇå¿Õ¡£

¡¡¡¡ÓÚÊÇÓÐÁË£º

private void Form1_Load(object sender, System.EventArgs e)
{
¡¡label2.AutoSize = true;

¡¡Clipboard.Clear();//ÏÈÇå¿Õ¼ôÌù°å·ÀÖ¹¼ôÌù°åÀïÃæÏȸ´ÖÆÁËÆäËûÄÚÈÝ
¡¡RegisterHotKey(Handle, 100, 0, Keys.F10);
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
¡¡UnregisterHotKey(Handle, 100);//Ð¶ÔØ¿ì½Ý¼ü
}

¡¡¡¡ÄÇôÎÒÃÇÔÚ±ðµÄ´°¿Ú£¬ÔõôÈð´ÁË¿ì½Ý¼üÒÔºóµ÷ÓÃÎÒµÄÖ÷¹ý³ÌProcessHotkey()ÄØ£¿

¡¡¡¡ÄÇôÎÒÃǾͱØÐëÖØÐ´WndProc()·½·¨£¬Í¨¹ý¼àÊÓϵͳÏûÏ¢£¬À´µ÷Óùý³Ì£º

protected override void WndProc(ref Message m)//¼àÊÓWindowsÏûÏ¢
{
¡¡const int WM_HOTKEY = 0x0312;//°´¿ì½Ý¼ü
¡¡switch (m.Msg)
¡¡{
¡¡¡¡case WM_HOTKEY:
¡¡¡¡¡¡ProcessHotkey();//µ÷ÓÃÖ÷´¦Àí³ÌÐò
¡¡¡¡¡¡break;
¡¡}
¡¡base.WndProc(ref m);
}

¡¡¡¡ÕâÑùÎҵijÌÐò¾ÍÍê³ÉÁË¡£

(出处:http://www.Gimoo.net)

被阅读 0 次 本文现有评论 0
打印】 【收藏此页】 【关闭

强烈推荐

热门知识

最新文章

合作伙伴:网乐宽频 | 北京画廊
站长 服务邮箱:GimooHr(#)Gmail.Com 站长交流群:6412338 联系站长QQ号:36147437
Copyright © 2008 Gimoo.NetInc. all rights reserved 京ICP备05050695号