不使用DLL(hook)而实现系统级的键盘捕获?
我想让我的程序运行后,能截获F1, F2, F3等键盘输入
(以实现快捷键),不管我的程序是否是当前活动窗口,
该如何做?我知道的是,用LoadAccelerators,
TranslateAccelerator这种方法,只能是线程级的,程序
是当前活动窗口时才有效;用Keyboard Hook这种方法,
据SDK文档说明,要做到系统级,须使用DLL。但是,我看
到有些软件如EyeDropper,只是一个exe文件就做到了系
统级截获,我不得其门而入。
EyeDropper位于http://eyedropper.inetia.com/
该程序只有一个36k大小的exe文件,直接运行。
可通过Properties->Miscellaneous设置快捷键。
我用VC自带的depends观察它调用了哪些DLL, API,所得信息非常
少;用spy++观察它的消息通信,只看到有WM_WINDOWPOSCHANGING。
这就让我感到很奇怪了,它怎么做的?
望高手指点一二,让我茅塞顿开,谢谢。