我正在构建一个远程桌面应用程序,并希望捕获alt-tab之类的密钥并阻止其转发到客户端操作系统。
我知道如何在iohook中做到这一点。有一个线程discusses the feature和一个implementation of it。对于Windows(目前我主要关心的是Windows),此方法的工作方式是使用第一个参数SetWindowsHookEx
调用WH_KEYBOARD_LL
,然后 not 调用CallNextHookEx
密钥传播已禁用。
对于SDL 1.2,似乎答案是使用SDL_WM_GrabInput
。但是,这似乎已在SDL 2中停用。有关如何抓住mouse in SDL 2而不是键盘的内容,有一篇Stack Overflow帖子。
鉴于我正在使用SDL2,禁用键盘传播的最佳方法是什么?