WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


使用全局键盘钩子函数(global key hook function)

在应用程序中,通过全局键盘钩子函数,检查所有的键盘输入。全局键盘钩子函数 可以在向对象分发键盘事件之前,拦截键盘输入事件。通过WSDkeyboard类的全局实例 设置全局键盘钩子函数。

键盘类 访问实例函数
WSDkeyboard WSGIappKeyboard()

#include 
//全局键盘钩子函数处理例子
WSCbool keyhandler(long keycode,WSCbool onoff){
  // keycode : 键盘码
  // onoff   : 该值为True表示键盘被按下;为False表示键盘被松开
  if (keycode == WSK_F1){
    输入 F1 时进行的处理 ....
    //屏蔽被拦截的键盘事件
    return False; //返回值=False 拦截该键输入,不向其他对象分发键盘事件
  }else if (keycode == WSK_F2){
    输入 F2 时进行的处理 ....
    //不屏蔽被拦截的键盘事件
    return True; //返回值=True 向其他对象分发键盘事件...
  }
  return True //返回值=True 向其他对象分发键盘事件...
}
void event_procedure(WSCbase* obj){
  //登录全局键盘钩子函数
  WSGIappKeyboard()->setGlobalKeyHook( keyhandler );
}

用户通过keyhandler() 函数拦截键盘事件,进行特殊的处理。 通常,在初始化触发器的事件处理中,通过键盘类的setGlobalKeyHook() 实现全局键盘钩子函数的登录。关于键盘码的定义参考 WSkeysym.h 文件。

Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005