我正在使用一个程序,该程序使用加速键供用户定义的热键,一切正常。用户可以使用SHIFT,CTRL或ALT设置热键。我知道使用ALT生成一个WM_SYSKEYDOWN而不是WM_KEYDOWN,所以当ALT被按下时很明显。
TranslateAccelerator只接受窗口句柄,accel表句柄和单个KEYDOWN消息。所以,我的问题是,如果用户按下CTRL + T,TranslateAccelerator如何知道还按下了CTRL键?
我知道CTRL生成一个单独的KEYDOWN命令,我专门将它们过滤掉(不要传递给TranslateAccelerator)来测试理论,但是TranslateAccelerator仍在工作。