范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

在窗体不是焦点时设置全局快捷键

  添加窗体以后,我们可以通过一系列事件给窗体添加快捷键
  private void Form1_KeyUp(object sender, KeyEventArgs e)         {             if (e.KeyCode == Keys.B)             {                 MessageBox.Show("B");             }         }
  这样当我们在按下"B"键时,就可以弹出对话框,但这种方法有一个弱点:窗体必须在获取焦点的情况下,按了才起作用。我们可以通过使用全局快捷键的方法来解决这个问题,也就是在任何时候按下,程序都会响应快捷键。
  整体代码及使用方法如下:using System.Runtime.InteropServices;  namespace hotkey {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }          private void Form1_KeyUp(object sender, KeyEventArgs e)         {             if (e.KeyCode == Keys.B)             {                 MessageBox.Show("B");             }         }          HotKey hk = new HotKey();         private void Form1_Load(object sender, EventArgs e)         {             hk.Reg(Handle, 100, 1 | 2, Keys.G);         }         private void Form1_Leave(object sender, EventArgs e)         {             hk.UnReg(Handle, 100);         }         protected override void WndProc(ref Message m)         {             int HotKeyNum = hk.Handle(ref m);             switch (HotKeyNum)             {                 case 100:                     MessageBox.Show("按下了系统热键!");                     break;             }             base.WndProc(ref m);         }          ///          /// 注册系统快捷键         /// --------------说明------------------         /// 1、在窗体的Activated事件中写入如下代码:         /// Reg(Handle, 100, 1 | 2, Keys.G);         /// Alt = 1,Ctrl = 2,Shift = 4,WindowsKey = 8         /// 2、重写WndProc方法         /// protected override void WndProc(ref Message m)         /// {         ///    int HotKeyNum = Handle(ref m);         ///    switch (HotKeyNum)         ///    {         ///        case 100:         ///            MessageBox.Show("HAHA");         ///            break;         ///    }         ///    base.WndProc(ref m);         /// }         /// 3、在窗体的Leave事件中写入如下代码         /// UnReg(Handle, 100);         /// ------------------------------------         ///          public class HotKey         {             [DllImport("user32.dll", SetLastError = true)]             static extern bool RegisterHotKey(                 IntPtr hWnd,                 //要定义热键的窗口的句柄                 int id,                      //定义热键ID(不能与其它ID重复)                           int fsModifiers,    //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效                 Keys vk                      //定义热键的内容                 );              [DllImport("user32.dll", SetLastError = true)]             static extern bool UnregisterHotKey(                 IntPtr hWnd,                 //要取消热键的窗口的句柄                 int id                       //要取消热键的ID                 );              ///              /// 注册系统快捷键             /// --------------说明------------------             /// 在 Form1_Activated 或 Load 事件中              /// Reg(Handle, 100, 1 | 2, Keys.G);             /// Alt = 1,Ctrl = 2,Shift = 4,WindowsKey = 8             /// ------------------------------------             ///              /// 写handle即可             /// 该快捷键的注册数字,如100             /// 辅助键如Ctrl,KeyModifiers中的一个             /// 与fsModifiers的组合键,如Keys.A             ///              public bool Reg(IntPtr hWnd, int id, int fzKeys, Keys vk)             {                 return RegisterHotKey(hWnd, id, fzKeys, vk);             }             ///              /// 注销系统快捷键             /// --------------说明------------------             /// 在 Form1_Leave 或 FormClosed 事件中              /// UnReg(Handle, 100);             /// ------------------------------------             ///              /// 写字handle即可             /// 该快捷键的数字,如100             ///              public bool UnReg(IntPtr hWnd, int id)             {                 return UnregisterHotKey(hWnd, id);             }              ///              /// 得到快捷键的ID             ///              ///              ///              public int Handle(ref Message m)             {                 const int WM_HOTKEY = 0x0312;                 //按快捷键                 switch (m.Msg)                 {                     case WM_HOTKEY:                         return m.WParam.ToInt32();                 }                  return 0;             }         }     } }说明
  在Form1_Load时,注册快捷键
  //Handle照抄就行
  //100是快捷键号,只要整个程序对得上就行。
  //1|2这里我写的是按下ctrl和alt,这个在我程序中都有说明
  //Alt = 1,Ctrl = 2,Shift = 4,WindowsKey = 8
  //同时还得加上G键
  hk.Reg(Handle, 100, 1 | 2, Keys.G);
  在Form1_Leave时,注销
  hk.UnReg(Handle, 100);
  protected override void WndProc中根据热键号做不同任务运行调试会发现,按"B"键时弹出对话框只能在获取焦点时,或者说你得看得到窗体,还要点下它这时才行,而按ctrl+alt+G时,在任何情况下,都可以弹出对话框。我在本例中只是用对话框做了个例子,大家可以尝试做其它任务。

既生瑜,何生亮?劳力士和帝舵相爱相杀的一个世纪帝舵作为劳力士的小弟,这两个品牌之间一直保留着非常密切的关系。它们的一切,我们得从两个品牌的诞生开始说起历史渊源劳力士于1905年在英国伦敦成立,创始人是德国人汉斯威尔斯多夫和英国钟表之王宝玑的主打款,是否名副其实腕表之家腕表视频说起表王大家会想到什么品牌呢?百达翡丽?江诗丹顿?但要说以历史论表王,可能宝玑才当之无愧。宝玑发明了业界超过70的腕表技术,我们常说的制表界三大复杂技术陀飞轮万年历爽肤水推荐美白补水改善暗沉和强化肌表还能细致毛孔抗氧化爽肤水推荐美白补水改善暗沉和强化肌表还能细致毛孔抗氧化!!百雀羚爽肤水69r70ml百雀羚可是经久不衰的国货品牌,所以呢国货走的就是性价比高的路线,价格也不高。不过价钱不高,用着还今日欧美明星时尚街拍图集(2022年10月7日)今日欧美明星时尚街拍图集(2022年10月7日)时尚欧美明星的街拍就是行走在马路上的秀场,明星们的街拍就是时尚界的潮流风向标。明星们身穿什么牌子的衣服肩背什么大牌包包,脚蹬什么潮流免费的午餐,要还是不要呢?一个大家族,都是从里头开始败的?人生无常,在未知中充满了变数,有的家庭,眼看就要覆灭了,但是如遇贵人,再次卷土重来。有的家庭,一开始明明热闹非常,可后面日子越过越差,眼看着就要衰败。这一切从来都不是命运的安排,而不去折腾,你活着干什么?当看到这个标题时,忽然有很多感慨,太多想说的了太久的安逸,已经没有了当初的激情,就如大家一直在探索,生命的意义是什么一样,很多个夜晚,我都在思考这个问题,生命的意义,可是,才疏学浅被苹果公司做成手机app的正念训练,国庆不出门也能轻松解压压力,是这个时代的顽疾。这些年,各行各业,找我做减压辅导的人越来越多。本来想趁着国庆小长假出去走走,释放压力的计划也因为疫情几乎泡汤,严重的地方甚至只能居家。在这个无法出游的时候,芦苇荡中拍人像,用好这份拍摄攻略,拍照简约好看人也美秋高气爽的季节,不输银杏和枫叶的芦苇荡也在风中摇曳,但由于芦苇荡一般长势都比较杂乱,拍照起来也会比较吃力,那么在芦苇荡中要怎么拍才好看呢?下面小编便为大家整理出这份拍摄攻略,用好这现在买这3款手机,又可以当钉子户了,赶紧下手吧你用的时间最长的手机是哪一款?有这么一些手机,买了以后,即使使用多年,依然会有很好的使用体验,让用户没有换机的热情,很多多年以后新出的手机,甚至都没有它好用,我们常把使用这类手机的游览古墓博物馆,联想到千唐志斋古人有趣的生死观念洛阳人民在旅游资源这一块儿可以说是得天独厚。如今这几年流行博物馆探秘今天就介绍两个,看完之后一定会让你怀疑人生,发人深省。第一个是新安县千唐志斋墓志铭的博物馆。简单介绍的话,就是民昔日中超土豪四处流浪!当红国脚露宿街头,名记怒斥俱乐部不职业由于近几年来国内的房地产行业越来越不景气,不少母公司是地产企业的中超俱乐部近2个赛季的日子也变得非常难过。这一点,在广东地区格外地明显。广州队(原广州恒大)广州城(原广州富力)和深
周琦新赛季归属尘埃落定,姚明最担心的事发生,新疆输得一塌糊涂距离新赛季CBA常规赛开打,还有一个月左右的时间,不少球迷仍在期盼,新疆男篮能够创造奇迹,与周琦团队达成和解,让大魔王能够重回国内联赛打球,然而在昨天接受央视的视频采访时,周琦却向萧华推动改革,NBA新规出炉!优化新赛季赛程,行驶里程历史最低前言随着休赛期自由市场不断深入,联盟各支球队的引援速度又变得缓慢起来。湖人还在不断尝试送走队内的负资产威少,而新赛季意欲摆烂重建的犹他爵士队,也在不断地兜售队内的首发球员,立志成为苹果可能面临美国司法部关于AirTag的反垄断指控监管机构的关注点逐渐由AppStore转移到了硬件上。苹果苹果可能将面临来自美国司法部的新一轮反垄断指控,而这次的关注点会集中在AirTag和其它硬件上。据获悉,司法部的律师目前正MEETACER2022宏碁裸眼3D系列城市巡展北京站圆满举办视觉交互的边界在哪里,元宇宙的未来将去向何方,虚拟与现实世界的连接点等等话题都是科技企业探讨的未来。宏碁SpatialLabs裸眼3D技术自发布以来,备受各界人士关注,为让更多的用CBA三消息首钢小外援到北京,辽宁双雄很忠心,周琦暗示众队友爱国篮,爱CBA,我是洛姐,小伙伴们看完记得点赞!北京首钢队下个赛季直接更换了四名外援,这是球迷们没有想到的事情,现在前北京首钢队小外援林书豪已经加盟了CBA广州队,球队的大外援汉明朝第二位皇帝明惠帝朱允炆大力改革,重用文人,大力削藩引众怒朱元璋死后,21岁的朱允炆继承了朱元璋开创的天下,改年号为建文,即明惠宗(亦称建文帝明惠帝)。这个年轻的君主刚刚即位,便面临着两个难题一是朱元璋时期严峻的政治氛围二是在朱元璋时期,齐白石68岁时,友人送一名侍女,未满一年,婢女即告退不能再留齐白石是一位国画大家,他早年从事的是木匠,二十七岁的时候就开始从事艺术创作,在中国成为了一位伟大的画家。都说文人墨客多,齐白石也是如此。齐白石生平有情,有情有义,而且有很多朋友。齐鲁迅去世后,独守空房几十年的原配,晚年才说出一句怨言令人深省鲁迅先生是我国近代重要的文学家和思想家,一直以来都是我们近代文化上的重要标杆。作为新文化的头号先锋,鲁迅先生一生都在为文化的更新而斗争着,其中鲁迅先生和许广平的师生恋情一直以来都被太鲁阁号事故49死台湾3高官被弹劾据台媒报道台铁第408次太鲁阁号列车去年4月发生重大事故,出轨撞击清水隧道北口,造成49人死亡300余人受伤,财务损失及赔偿初估约16亿元以上。监委叶宜津等人调查后,认为台铁局前局鸡蛋不用分离,加牛奶倒入电饭煲,比烤箱烤得更好吃,松软可口您家是不是还没准备一个烤箱呢?您是不是想用电饭锅做蛋糕,却每次都做不成功呢?今天我跟您分享一道电饭锅蛋糕的做法,没有繁琐的步骤,就连像我这样的懒人都能学会,松软香甜,喜欢吃蛋糕却又生姜和牛奶放一起,想不到这么厉害,好多人不懂,不懂吃可惜了生姜是咱们平常生活中经常吃的一种调味品,很多美食都需要用到生姜,而加上生姜之后也会让这些美食变得比较美味,牛奶是咱们平常生活中经常喝的一种饮品,它的营养价值非常高,含有非常丰富的优