CBT钩子实现解决程序间的冲突

本文介绍了如何通过创建一个动态链接库CBTHooks,实现在程序A启动时,检测并关闭与其冲突的程序B。该库设置了一个全局CBT钩子,监听特定窗口类的创建,并根据配置文件中的信息关闭对应进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可能在运行一个程序A时,将运行的程序与正在运行的某个程序B冲突。下面用一个CBT钩子实现当一个程序A启动时,关闭与本程序冲突的其它程序B

1、  首先写一个动态链接库CBTHooks。它实现一个全局CBT钩子监视程序A的启动(实际上是监视程序A中某窗口类的创建)。

2、  创建一个名为TestHookMFC EXE程序来为系统安装钩子。
CBTHooks

 

声明全局变量:

static HHOOK g_hHook = NULL;

static HANDLE g_hModule = NULL;

 

钩子过程:

LRESULT CALLBACK CbtProc(int nCode, WPARAM wParam, LPARAM lParam)

{

                  switch (nCode)

                  {

           case HCBT_CREATEWND:

           {

                    HWND hWnd = (HWND)wParam;

                    LPCBT_CREATEWND pcbt = (LPCBT_CREATEWND)lParam;

                    LPCREATESTRUCT pcs = pcbt->lpcs;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值