类向导生成的消息循环通常看起来像
while( GetMessage() )
{
if( !TranslateAccelerator() )
{
TranslateMessage();
DispatchMessage();
}
}
而 TranslateAccelerator 文档说:
如果函数成功,则返回值非零。
如果函数失败,则返回值为零。要获取扩展错误信息,请调用 GetLastError。
在我的测试中,当 TranslateAccelerator 失败的唯一原因是找不到此特定消息的加速器时,GetLastError 返回 0==ERROR_SUCCESS。
我只是好奇,当 TranslateAccelerator 因其他原因失败,消息不应该被翻译和发送时,是否有任何现实条件?
提前致谢!