怎样禁用Windows系统的鼠标右键啊?有相关的API吗?我查了一天,才找到SystemParametersInfo可能有关,可是我看的头晕脑胀也没有搞明白.哪位牛人帮忙一下,小弟感激不尽。
解决方案 »
- 什么API能将Wide字符串转成Ansi字符串?
- 不是很理解[操作模块的输入节][DLL的输入节]的输入节含义
- 开发C/S软件使用RPC还是Socket比较好?
- ActiveX控件注册时产生错误的注册表信息
- sql Server 两个结构 基本相同的表 复制数据 如 A->B
- 单文档中的对话框如何使用doc类?
- 如何打印位图?
- 出现错误:\serverView.cpp(80) : error C2440: 'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)'
- WSAAsyncSelect中的FD_WRITE有什么用啊?
- MFC ActiveX控件中如何实现打印
- 如何遍历远程文件?急!
- 关于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,启动后,你将不能在桌面,驱动器,文件夹等地方使用鼠标右键
修改注册表是可以,但是不能在任何部分都可禁用鼠标。要求是在任何时候都禁用鼠标。而且给程序下个参数又可以解锁。所以不能通过修改注册表了。