设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 PowerBuilder中实现系统热键功能的新方法
 日期:2006-1-20 10:11:22  来源:百当软件园

本方法可以实现在任何时候,即无论你的窗口是不是当前获得焦点的窗口,还是处于系统图标区,只要用户按下热键,都将触发窗口中的事件,在本例中实现窗口的状态切换。

  1、首先我们必须声明Windows API的外部函数:
  FUNCTION Integer GlobalAddAtom(ref string lpString) LIBRARY "kernel32.dll" ALIAS FOR "GlobalAddAtomA" FUNCTION ulong RegisterHotKey(ulong hwnd,ulong id,ulong fsModifiers,ulong vk) LIBRARY "user32.dll"

  2、接下来,我们必须给一些需要用到的定量赋上初始值。
    Public:
        constant integer MOD_ALT = 1
  constant integer MOD_CONTROL = 2
  constant integer MOD_SHIFT = 4

  3、接下来,我们必须利用下面代码在系统中注册我们要使用的热键:
  //在窗口的Open事件中
  long ll_RC
  string ls_str
  ls_str = "My atom ID"
  atomid = GlobalAddAtom(ls_str) //得到唯一的ID,保证不和其他应用程序发生冲突
  ll_RC = RegisterHotKey(Handle(this), atomid, MOD_ALT + MOD_CONTROL, 65) // 65为'A'
//注册的热键为Ctrl+Alt+A
  if ll_RC = 0 then
  messagebox("错误","错误信息")
  end if

  4、最后,编写当用户按下热键时的处理程序:
  //在窗口的Other事件中
  IF wparam = atomid THEN
      This.Show()
  //在这里编写处理程序
  END IF

相关文章

·用PB生成GUID解决主键重复
·用PowerBuilder编写邮件应用程序
·PowerBuilder的可执行文件所需的
·PowerBuilder中实现数据窗口动态
·低级键盘钩子屏蔽Win键、Alt+Tab
·循序渐进学习Power Builder 6.0


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作