您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 后端开发 >> PHP >> 正文

应用程序敏感键的实现

2008-11-7网络佚名

  ----在一个应用程序内部菜单、部件都可以设置敏感键。如在菜单中一般用Alt+F进入“文件”之类的子菜单。另外我们在桌面上设置的快捷方式里的快捷键,无论你任何时候按下你所设置的快捷键就会启动相应的应用程序。在多个正在运行的应用程序中如何利用一个按键动作迅速地回到你所需要的应用程序呢?这就需要利用敏感键(HOTKEY)的技术来实现。本文利用Delphi3.0开发工具来阐述该技术在应用程序的实
现方法。

  一、敏感键的设置

  ----在windowsApi中有一个函数RegisterHotKey用于设置敏感键,它的调用方式如下:

  BOOLRegisterHotKey(
  HWNDhWnd,响应该敏感键的窗口句柄
  Intid,该敏感键的唯一标示符
  UINTfsModifiers,该敏感键的辅助按键
  UINTvk该敏感键的键值
  );

  ----其中敏感键的唯一标示符在Window中规定应用程序的取值范围为0x0000到0xBFFF之间,动态链接库的取值范围为0xC000到0xFFFF之间。为了保证其唯一性建议使用GlobalAddAtom函数来设置敏感键的唯一标示符。需要注意的是GlobalAddAtom还回的值是在0xC000到0xFFFF范围之间,为满足RegisterHotKey的调用要求,如果是在应用程序中设置敏感键可以利用GlobalAddAtom还回值减去0xC000。

  ----敏感键的辅助按键包括Mod_Ctrl、Mod_Alt、Mod_Shift,对于Windows兼容键盘还支持Windows键,即其键面上有Windows标志的那个键,其值为Mod_win。

  ----在Delphi中建立一个“NewApplication”,在Tform1中的Private段中加入如下代码

  private
  {Privatedeclarations}
  hotkeyid:integer;
  procedureWMhotkeyhandle(varmsg:Tmessage);
  messagewm_hotkey;响应敏感键按键消息
  在FormCreate事件中加入如下代码
  …
  hotkeyid:=GlobalAddAtom(pchar
  (“UserDefineHotKey”))-$C000;
  减去$C000是为了保证取值范围的限制
  registerhotkey(handle,hotkeyid,
  MOD_CONTROLormod_Altt,$41);
  敏感键为ctrl+Alt+A
    …

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:网络 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下