首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 在PB中实现系统热键功能的新方法
【标  题】:在PB中实现系统热键功能的新方法
【关键字】:系统,方法,PB,PB
【来  源】:网络

在PB中实现系统热键功能的新方法

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

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

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

循序渐进学习Power Builder 6.0--第二章 PowerBuilder 入门(2):【上一篇】
低级键盘钩子屏蔽Win键、Alt+Tab键的响应:【下一篇】
【相关文章】
  • PBr连接Sybase-SQLServer的注意事项
  • 如何使PB窗口总在最上层
  • 如何在PB中创建SQL SERVER数据库设备与数据库
  • PB中实现图片按钮的mousemove事件
  • 如何带参数执行SQL的系统储存过程
  • 用PB如何调用WINDOWS的API(以播放声音为例)
  • FALSH的按钮控制PB中的数据窗口
  • 关于记录重复的处理方法
  • 数据窗口间的数据传送方法
  • Delphi控制Excel的重要属性和方法
  • 【随机文章】
  • iText经验总结
  • VC++中查找/替换对话框的使用
  • 遇到PL/SQL Dev无法登录的一个怪问题
  • 终端里面常用的转义字符串
  • [推荐]磁盘空间查看HTA脚本(已更新)
  • pix 单ip做nat及端口重定向
  • 我的一些oracle9i学习笔记,与大家分享
  • RealOne Player抓图小技巧
  • LINUX学习笔记
  • 最近看见了一个提供地图接口的很好的网站
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.