怎样禁用Windows系统的鼠标右键啊?有相关的API吗?我查了一天,才找到SystemParametersInfo可能有关,可是我看的头晕脑胀也没有搞明白.哪位牛人帮忙一下,小弟感激不尽。
解决方案 »
- 关于ToolBar
- 在vc6.0中如何执行EXEC master..xp_cmdshell
- vista边栏程序,大家给点意见
- 求教:第三方软件的一个枚举变量,怎么才能同时把几个枚举属性都赋给对象?
- 本人刚学VC,看到VC有点头大,今天做了点尝试,遇到几个问题想请求大家,希望大家能帮我一下!谢谢!
- 打印编程时如何得到每张纸打印的页数?
- 嘿嘿,都说是小问题,有谁知道?关于Windows产品序列号
- 怎么样在vc下编写打印程序
- 此处WM_TIMER和WM_PAINT的异同,并且貌似把WM_PAINT去掉也没什么问题
- 一个线程小问题,88分不够再加。
- 如何遍历远程文件?急!
- 关于ppt转化成html的问题
拦截鼠标要比放置一个老鼠夹子容易一些,您只要呼叫:SetCapture (hwnd) ;
在这个函数呼叫之后,Windows将所有鼠标消息发给窗口句柄为hwnd的窗口消息处理程序。之后收到鼠标消息都是以显示区域消息的型态出现,即使鼠标正在窗口的非显示区域。lParam参数将指示鼠标在显示区域坐标中的位置。不过,当鼠标位于显示区域的左边或者上方时,这些x和y坐标可以是负的。当您想释放鼠标时,呼叫:ReleaseCapture () ;
从而使处理恢复正常。
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 里拦截右键消息,想怎么处理都可以
{
//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);//继续传递消息
}
作者: 来源:playasp.com 时间:2005-3-25
根键位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
修改内容:
在右边的窗口中新建一个二进制值“NoViewContextMenu”,并设值为“01 00 00 00”。
效果:
修改后需重新启动WINDOWS,启动后,你将不能在桌面,驱动器,文件夹等地方使用鼠标右键
修改注册表是可以,但是不能在任何部分都可禁用鼠标。要求是在任何时候都禁用鼠标。而且给程序下个参数又可以解锁。所以不能通过修改注册表了。