怎样禁用Windows系统的鼠标右键啊?有相关的API吗?我查了一天,才找到SystemParametersInfo可能有关,可是我看的头晕脑胀也没有搞明白.哪位牛人帮忙一下,小弟感激不尽。

解决方案 »

  1.   

    在OnRButtonDown()中return 0;就行了。
      

  2.   

    OnRButtonDown()中return 0;只能禁用发送给程序的鼠标右键,如果要禁用所有,可以把所有那消息都发到程序窗口,这里有2个函数,
    拦截鼠标要比放置一个老鼠夹子容易一些,您只要呼叫:SetCapture (hwnd) ;
            
    在这个函数呼叫之后,Windows将所有鼠标消息发给窗口句柄为hwnd的窗口消息处理程序。之后收到鼠标消息都是以显示区域消息的型态出现,即使鼠标正在窗口的非显示区域。lParam参数将指示鼠标在显示区域坐标中的位置。不过,当鼠标位于显示区域的左边或者上方时,这些x和y坐标可以是负的。当您想释放鼠标时,呼叫:ReleaseCapture () ;
            
    从而使处理恢复正常。
      

  3.   

    HHOOK SetWindowsHookEx(
      int idHook,        // type of hook to install
      HOOKPROC lpfn,     // address of hook procedure
      HINSTANCE hMod,    // handle to application instance
      DWORD dwThreadId   // identity of thread to install hook for
    );
    将第一个参数设置成WH_MOUSE,在MouseProc 里拦截右键消息,想怎么处理都可以
      

  4.   

    passing the SM_MOUSEPRESENT value to the SetSystemMetrics function
      

  5.   

    在OnRButtonDown()中return 0只能禁用应用程序的鼠标事件。我要禁用怎个系统。用钩子必须写dll来处理屏蔽鼠标右键事件吗?
      

  6.   

    我可以截获了鼠标消息,但是怎样只截获鼠标右键消息啊?我在截获鼠标消息后,定义一个消息指针来判断是否是点击右键消息,但是这样始终不能获得右键消息的响应事件。有那位牛人帮帮吗?我急啊,先感谢大家了。LRESULT WINAPI MouseProc(int nCode,WPARAM wparam,LPARAM lparam)
    {
    //LPMOUSEHOOKSTRUCT pMouseHook=(MOUSEHOOKSTRUCT FAR *)lparam;
    MSG *lpMsg;
    lpMsg = (MSG*)lparam;
    if (nCode>=0)
    {
    if(lpMsg->message == WM_RBUTTONDOWN)
    {
    AfxMessageBox("Get Mouse right button down event");
    return 0;//PostQuitMessage(0);
    }//end if press right button

    }
    return CallNextHookEx(glhHook,nCode,wparam,lparam);//继续传递消息
    }
      

  7.   

    禁止使用鼠标右键 
     
    作者: 来源:playasp.com 时间:2005-3-25  
     
    根键位置:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    修改内容:
    在右边的窗口中新建一个二进制值“NoViewContextMenu”,并设值为“01 00 00 00”。
    效果:
    修改后需重新启动WINDOWS,启动后,你将不能在桌面,驱动器,文件夹等地方使用鼠标右键 
     
     
      

  8.   

    languagec(各有所求):
    修改注册表是可以,但是不能在任何部分都可禁用鼠标。要求是在任何时候都禁用鼠标。而且给程序下个参数又可以解锁。所以不能通过修改注册表了。