高分求MFC中键盘模拟是keydown消息的实现,求代码,不用钩子

[复制链接]
查看11 | 回复1 | 2011-5-18 11:23:04 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-5-18 11:23:04 | 显示全部楼层
(一)响应单独的按键:
先添加PreTranslateMessage()(响应WM_CHAR)也是同样的效果,因为本例只捕捉键盘)
BOOLCMydilog::PreTranslateMessage(MSG*pMsg)
{
if(pMsg-message==WM_KEYDOWN)
{
if(pMsg-wParam==\'M\')//直接用上面的虚码代替就可以响应所指键
MessageBox(\"hello\");//如果按下M键弹出消息.
}
returnCDialog::PreTranslateMessage(pMsg);
}
(二)组合键的用法:(本例响应CtrlX键)
BOOLCMydilog::PreTranslateMessage(MSG*pMsg)
{
if(pMsg-message==WM_KEYDOWN)
{
switch(pMsg-wParam)
{
case\'X\':
if(::GetKeyState(VK_CONTROL)0
MessageBox(\"hello\");
returnTRUE;
}
}
returnCDialog::PreTranslateMessage(pMsg);
}






参考资料:<spanclass=\"gray\"><ahref=\"http://fanwei51880.blog.163.com/blog/static/32406740200923110536608/\"target=\"_blank\">http://fanwei51880.blog.163.com/blog/static/32406740200923110536608/</a></span>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行