《MFC编程》:钩子函数

article/2025/11/6 16:56:43

《MFC编程》:钩子函数

  • 《MFC编程》:钩子函数
    • 钩子函数简介
      • 作用
      • 类型
    • MFC窗口如何创建
    • 代码书写

《MFC编程》:钩子函数

钩子函数简介

钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。

作用

WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数。

类型

一共有两种类型的钩子:局部的和远程的。

局部钩子仅钩挂您自己进程的事件。

远程的钩子还可以将钩挂其它进程发生的事件。

远程的钩子又有两种:

  1. 系统级的全局钩子;
  2. 线程级的钩子。

全局钩子函数需要定义在 DLL 中, 线程级的钩子开始比较简单。

其实,钩子函数就三个:

  • 设置钩子: SetWindowsHookEx
  • 释放钩子: UnhookWindowsHookEx
  • 继续钩子: CallNextHookEx

在线程级的钩子中经常用到 GetCurrentThreadID 函数来获取当前线程的 ID。

MFC窗口如何创建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码书写

在这里插入图片描述

  1. 创建一个win32程序
    在这里插入图片描述

  2. 选择窗口程序,并且是一个空项目,点击“完成”
    在这里插入图片描述

  3. 成功创建一个win32空项目
    在这里插入图片描述

  4. 进入程序属性界面,更改字符集为多字节字符编码
    在这里插入图片描述

  5. 更改使用MFC库,静态动态均可
    在这里插入图片描述

源文件新建MFCCreate.cpp。

在这里插入图片描述

代码:

#include<afxwin.h>
class CMyFrameWnd : public CFrameWnd {};
class CMyWinApp : public CWinApp {
public:virtual BOOL InitInstance();
};
CMyWinApp theApp; // 爆破点BOOL CMyWinApp::InitInstance() {CMyFrameWnd* pFrame = new CMyFrameWnd;pFrame->Create(NULL, "MFCCreate");m_pMainWnd = pFrame;pFrame->ShowWindow(SW_SHOW);pFrame->UpdateWindow();return TRUE;
}

程序使用的类的结构图:

在这里插入图片描述


http://chatgpt.dhexx.cn/article/Llt3Zvo1.shtml

相关文章

《MFC编程》:MFC程序执行流程

《MFC编程》&#xff1a;MFC程序执行流程 《MFC编程》&#xff1a;MFC程序执行流程入口函数执行流程CWinApp的成员视频链接 《MFC编程》&#xff1a;MFC程序执行流程 入口函数 MFC程序的入口函数与win32程序一样&#xff0c;都是从WinMain入口。 但是MFC库已经实现了WinMain…

MFC基础入门

1 MFC入门 1.1 为什么学习MFC 在Windows平台上做GUI开发&#xff0c;MFC是一个不错的选择。 学习MFC不仅可以学习到MFC本身&#xff0c;而且可以学习MFC框架的设计思想。 1.2 Windows消息机制 基本概念解释 SDK&#xff1a;软件开发工具包(Software Development Kit)&…

MFC编程入门精讲

MFC&#xff08;Microsoft Foundation Classes,Microsoft基本类&#xff09;是一组预定义的类&#xff0c;封装了Windows API&#xff0c;对Windows编程来说是一种面向对象的方法。 所有使用MFC类的名称都已C开始&#xff0c;如CView。 1、简单的MFC程序 1.1 添加包括afxwin…

第三课——MFC编程

一、MFC概述 1. MFC简述 MFC不仅仅是一套基础类库&#xff0c;更是一种编程方式。 2. MFC由来 1987年微软公司推出了第一代Windows产品&#xff0c;并为应用程序设计者提供了Win16&#xff08;16位Windows操作系统&#xff09;API&#xff0c;在此基础上推出了Windows GUI&…

MFC编程入门

一、 什么是MFC&#xff1f; 如果你要建立一个Windows应用程序&#xff0c;应该如何下手&#xff1f; 好的开端是从设计用户界面开始。 首先&#xff0c;你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象。Windows用户界面有一些标准的控件&#xff0c;如按…

MFC最详细入门教程[转载]

本人在学习MFC的过程中&#xff0c;发现下面这个比较好的教程&#xff0c;这边转载记录一下 原文地址&#xff1a;MFC 最详细入门教程 From&#xff1a;https://blog.csdn.net/wang18323834864/article/details/78621633/ Visual Studio 2019&#xff1a;https://visualstudio.…

XAMPP详细安装教程

XAMPP安装教程 打开XAMPP安装包 等待安装完成 打开安装好的XAMPP 出现这种问题之后&#xff0c;我直接采用修改Apache端口号的方法 修改完Apache之后点击start运行MySQL&#xff0c;结果一直没开启成功&#xff0c;一直显示框框中的语句。百度几篇文章的结果就是找到regedit.e…

xampp使用教程方法免费分享

XAMPP是一个把Apache网页服务器与PHP、Perl及MySQL集合在一起的安装包&#xff0c;允许用户可以在自己的电脑上轻易的建立网页服务器。使用XAMPP您可以轻松的在本机调试您的PHP程序、CMS以及wordpress博客程序。本文主要分享一下XAMPP的使用教程。 XAMPP使用方法 1.下载XAMPP …

怎样在xampp中使用mysql以及配置xampp

怎样在xampp中使用mysql 以及配置xampp &#xff08;这里是在xampp中安装mysql的&#xff09; 第一步&#xff1a;安装xampp 找到xampp的安装包&#xff0c;双击下载&#xff1a; 我是安装在C盘的 安装好后&#xff0c;就会有下面页面 点 第二步&#xff1a;配置xampp&…

XAMPP汉化教程指南

xampp是一款新手学习PHP必备的软件&#xff0c;但是这款软件对于国人来说不太友好&#xff0c;因为他的控制面板界面只有英文和德文。 怎么汉化xampp xampp虽然好用&#xff0c;功能也比较简单&#xff0c;按钮功能好记&#xff0c;但是整个控制面板都是英文或者德文&#xf…

PHP 开发-XAMPP 安装

开发环境&#xff1a;Windows10&#xff0c;XAMPP&#xff08;x64-7.4.33&#xff09;&#xff0c;Netbeans。 XAMPP 安装 官网下载XAMPP安装包&#xff0c;我下载的版本 x64-7.4.33。安装包中相关软件版本&#xff08;官网上可查询&#xff09;&#xff1a; Apache 2.4.54M…

XAMPP安装和使用教程

最近由于某些情况&#xff0c;转入对PHP进行探讨&#xff0c;比较晚啦&#xff0c;呵呵&#xff01; 由于php在windows下配置虽不是很烦&#xff0c;但也难免出现误差&#xff0c;觉得集成工具也不错。下面把XAMPP的安装和使用教程转帖过来&#xff0c;以备我以后查阅。 XAMPP…

在xampp 中使用mysql的方法

法一、打开xampp 控制面板&#xff0c;启动mysql&#xff0c;然后打开shell,输入 mysql 即可 这里说一下最近碰到的问题&#xff1a;当我输入 mysql 的时候出错&#xff1a; Error Code: 1044. Access denied for user localhost to database mydb 原因&#xff1a;存在一个用…

xampp安装

XAMPP&#xff08;ApacheMySQLPHPPERL&#xff09;是一个功能强大的建站集成软件包&#xff0c; 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。小编在安装MySQL的路上不断碰壁&#xff0c;虽然是越挫越勇&#xff0c;但是&#xff0c;一旦挫太多次了也就没有那份…

XAMPP 使用教程

XAMPP 使用教程 文章目录 XAMPP 使用教程1.启动XAMPP。2.在Apache上点击start。3.访问http://localhonst&#xff0c;出现页面。 1.启动XAMPP。 2.在Apache上点击start。 3.访问http://localhonst&#xff0c;出现页面。 这说明你已经成功开启了本地服务器。&#xff08;在使用…

mac安装xampp及使用攻略

前言&#xff1a;最近接了一个商城的项目&#xff0c;后端要用到thinkphp6&#xff0c;听老板说很简单的框架&#xff0c;果断上手&#xff0c;不过在配置环境上&#xff0c;mac和windows差距很大&#xff0c;有很多坑&#xff0c;不过我已经一路踩过来了&#xff0c;建议喜欢的…

最详细的XAMPP的安装及使用教程(图文)

XAMPP的安装及使用教程 1、简介 XAMPP&#xff08;ApacheMySQLPHPPERL&#xff09;是一个功能强大的建站集成软件包。这个软件包原来的名字是 LAMPP&#xff0c;但是为了避免误解&#xff0c;最新的几个版本就改名为 XAMPP 了。它可以在Windows、Linux、Solaris、Mac OS X 等多…

XAMPP和MYSQL使用

1.下载 XAMPP 首先下载 XAMPP &#xff0c;您可以在本页面下方提供的链接直接点入官方网站下载。 2.安装 XAMPP 园子使用的是 XAMPP 的 Windows 版的安装包&#xff0c;下载后直接安装即可&#xff0c;安装过程所有选项保持默认即可。建议不要直接装在 C 盘。安装过程结束后&…

Xampp介绍、安装过程及使用方法

XAMPP&#xff08;ApacheMySQLPHPPERL&#xff09;是一个功能强大的建站集成软件包。 阅读一些资料&#xff0c;先整理如下&#xff1a; 软件介绍&#xff1a;http://baike.baidu.com/link?urlAGB3fqEAfvAKDp9ZpI-buHSS5A9bldAWbQbFP9C8_suyZgd5lSt68WgnUT4F6tn4nf5YhL144MMIp…

XAMPP安装教程

XAMPP 安装教程 文章目录 XAMPP 安装教程一、前往官网,下载二、安装OK. XAMPP是最流行的PHP开发环境 XAMPP是完全免费且易于安装的Apache发行版&#xff0c;其中包含MariaDB、PHP和Perl。XAMPP开放源码包的设置让安装和使用出奇容易。它可以构造一个本地服务器。 一、前往官网,…