MFC程序中屏蔽鼠标

屏蔽鼠标功能需要用到钩子,使用过程如下:

1、定义全局变量

HHOOK g_hMouse = NULL;

2、定义全局回调函数

LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
     return 1;
}

3、安装钩子

g_hMouse = SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());

执行此行代码后,应用程序的鼠标便被屏蔽了。

4、移走钩子

UnhookWindowsHookEx(g_hMouse);

执行此行代码后,钩子被移除,鼠标重新恢复可用。

时间: 2024-09-29 18:05:47

MFC程序中屏蔽鼠标的相关文章

在.net桌面程序中自定义鼠标光标

有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 对于WinForm程序,可以通过修改Control.Cursor属性来实现光标的修改,如果我们有光标文件的话,可以直接通过如下代码实现自定义光标: this.Cursor = new Cursor("myCursor.cur"); 但这种方式不是本文介绍的重点,本文主要介绍如何自己绘制光

MFC程序中消息以及函数的处理顺序简介[转]

MFC应用程序中处理消息的顺序 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc()  该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,                    然后调用WindowProc()函数 3.WindowProc()      该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数 4.

在MFC程序中增加控制台

在MFC程序中增加控制台 MFC程序中,如果想要输出调试信息,我们一般都是TRACE或者使用LOG文件,都不是很方便,第一个需要我们在调试状态下,第二个也要配置麻烦而且不直观.而使用Console来显示调试信息应该是更好的选择.下面介绍几种在MFC程序中,使用控制台来输出调试信息. 1. 我们可以自己创建一个命令行窗口,在主程序的初始化的时候调用AllocConsole()函数.相应的退出的时候调用FreeConsole() 1 BOOL CMFCTestApp::InitInstance()2

如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单

方法1:亲测 成功  转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef1f761/vs2010dialog 你可以创建菜单作为一种资源,然后将它附加到对话框.打开dialog“属性”对话框,你可以看到一个Menu属性,最终我们将在这里指定一个我们自己创建的菜单ID. 具体步骤如下: •在资源视图中右键单击工程名,插入一个新的菜单.这个菜单会有一个ID(例如:IDR_M

在MFC程序中使用AnyCAD图形控件

AnyCAD图形控件有.Net版本和C++两个版本,使用C++要比C#稍微繁杂一点.SDK中提供了针对MFC的文档视图的封装,只需改一下几个基类即可. 准备 VS2010 下载C++版本的AnyCAD图形控件:http://pan.baidu.com/s/1c06hmPa 项目设置 $(AnyCADSDK)替换为您的工程相对于AnyCAD C++ SDK的位置,您也可以把AnyCADSDK加到环境变量中. 头文件 $(AnyCADSDK)\inc Lib查找目录 $(AnyCADSDK)\lib

在MFC程序中使用AnyCAD三维控件

AnyCAD三维控件有.Net版本和C++两个版本,使用C++要比C#稍微繁杂一点.SDK中提供了针对MFC的文档视图的封装,只需改一下几个基类即可. 准备 VS2010 下载C++版本的AnyCAD图形控件:http://pan.baidu.com/s/1c06hmPa 项目设置 $(AnyCADSDK)替换为您的工程相对于AnyCAD C++ SDK的位置,您也可以把AnyCADSDK加到环境变量中. 头文件 $(AnyCADSDK)\inc Lib查找目录 $(AnyCADSDK)\lib

MFC六大机制 (1) MFC程序的初始化

本章将先介绍 MFC 的文档/视图结构,讲解实现该结构的数据结构,然后编写一个控制台应用程序来模拟 MFC 的初始化,理清 MFC 初始化的顺序,然后说明如何创建一个最基本的 MFC 应用程序. MFC 最重要的结构 文档/视图结构 MFC 提供了构造Windows应用程序的框架,它不仅为应用程序建立标准的结构,生成一系列启动文件,还提供标准的图形用户界面如菜单.工具栏.状态条等供开发人员在程序中补充完善,开发人员只需要完成针对待定应用的代码即可.其中最重要的框架就是其于文档/视图结构的文档应用

如何在程序中动态设置墙纸(使用IActiveDesktop接口)

大家都知道设置WINDOWS桌面墙纸的WIN32 API是SystemParametersInfo, 使用SPI_SETDESKWALLPAPER参数便能设置墙纸: ::SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\ABitmap.bmp", SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE); 但问题并没有解决,因为这个WIN32 API有很大的局限性 1. 无法把jpeg, gif等其他非位

MFC 程序入口和执行流程

一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数.而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象.CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象.由于CWinApp的派生对象是全局的,因此这个对