网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 其它精品代码 > 正文

在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、接下来,我们必须利用下面代码在系统中注册我们要使用的热键:
  //在窗口的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

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师