Board logo

标题: C++下如何屏蔽下ALT键 [打印本页]

作者: netice    时间: 2008-4-23 00:25     标题: C++下如何屏蔽下ALT键

。。因为我设置了鼠标样式,但是按下ALT键的时候,好像系统自动调到菜单上把鼠标样式修改成了箭头
。。。偶想写方法把ALT键的切换菜单那功能去掉,,方法如下,,都不行

1.在返回消息中
  case WM_KEYDOWN:
   if(wParam==VK_MENU)
   {
        SetCursorType();//偶写的设置鼠标样式的方法
   }
   break;
  case WM_KEYUP:
   if(wParam==VK_MENU)
   {
        SetCursorType();
   }

结果不行(按下抬起都监督了,,,)

2.中在DXInput里进行键盘监控
if(gameInput->KeyDown(DIK_LMENU))//按左ALT键鼠标切换问题
{
  SetCursorType();
}
if(gameInput->KeyDown(DIK_RMENU))//按右ALT键鼠标切换问题
{
  SetCursorType();
}

if(gameInput->KeyUp(DIK_LMENU))//抬起左ALT键鼠标切换问题
{
  SetCursorType();
}
if(gameInput->KeyUp(DIK_RMENU))//抬起右ALT键鼠标切换问题
{
  SetCursorType();
}

也不行。。。。。。。。。。。

不过看到《魔兽世界》里是切换不掉鼠标样式的,
《完美世界》就不行,可以切换出去。。。(小地方对比了下)

请问有知道怎么把ALT屏蔽掉的方法没???
作者: Nothing    时间: 2008-4-23 09:26

你说的ALT是系统标题栏消息吧。
那些消息是WM_NC*之类的消息,不是一般的消息。

关于屏蔽按键,需要使用系统勾子拦截WH_KEYBOARD_LL消息。
作者: netice    时间: 2008-4-23 19:08

   使用系统勾子拦截???

这个不会也。。。。。
作者: Nothing    时间: 2008-4-23 22:39

你查查WM_NC*系列消息,可能有用。
作者: 山外蛀虫    时间: 2008-8-17 19:52

SetWindowHookEx(),用这个函数




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0