WideStudio Programming Guide

| WideStudio Programming Guide | WideStudio 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.70 for WideStudio ver 3.70, Feb 2004

WideStudio documents index | Table of contents

Copyright(C) T. Hirabayashi, 2000-2004 | Last modified: Feb 25, 2004