在什么情况下会生成WM_SYSCHAR事件?
在我的应用程序的消息循环中,即使我只按了字符键,我也会收到WM_SYSCHAR事件。根据文档,此事件表示按下系统键,可以是alt + [任意字符]或F10。
但是,只有在使用特定环境时才会发生这种情况。通常在按下字符键时,我得到一个WM_KEYDOWN,然后是WM_CHAR。但是,当我安装一个名为" Fasoo DRM Client"我的应用程序中的快捷键停止工作。此应用程序在后台运行,它是一个基于文件的安全解决方案,可监视某些文件扩展名。在进一步调试时,我注意到当该软件在后台运行时,正在生成WM_SYSCHAR事件而不是WM_CHAR。此外,只有在我从我的应用程序打印后才会发生这种情况。
此外,仅当打印机的驱动程序页面(或首选项页面)显示打印机时才会发生这种情况。禁用此软件不是一种选择,因为它是一个客户系统,他的公司政策不允许这样做。
你能否分享一些关于为什么WM_SYSCHAR事件可能会生成的想法,即使我没有按任何alt或fn键?
有关该软件的一些信息:http://en.fasoo.com/site/fasoo_eng/filebasedsecurity/fasooenterprisedrm.do