找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 809|回复: 11

昭姐每天一练- C++全局鼠标钩子

[复制链接]

30

主题

1

回帖

0

积分

版主

积分
0
发表于 2013-6-8 11:07:36 | 显示全部楼层 |阅读模式



#include <windows.h>
#include "mouse.h"
#include "stdio.h"


HINSTANCE    hDllInst    = NULL ;    // DLL模块实例句柄

int WINAPI DllMain ( HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved )
{
    if ( fdwReason == DLL_PROCESS_ATTACH )
        hDllInst = hInstance ;        // 保存DLL实例句柄
    return true ;
}

// 鼠标钩子消息处理过程
LRESULT CALLBACK MouseProc ( int nCode, WPARAM wParam, LPARAM lParam )
{
    if ( nCode == HC_ACTION )
    {
        WCHAR    szBuf[32] = {0} ;
        PMOUSEHOOKSTRUCT pMouseInfo = (PMOUSEHOOKSTRUCT)lParam ;
        switch ( wParam )
        {
        // 对鼠标移动消息的处理
        case WM_MOUSEMOVE:
            {
                // 设置鼠标坐标信息
                wsprintf ( szBuf, L"( %d, %d )", pMouseInfo->pt.x, pMouseInfo->pt.y ) ;
                SetWindowText  ( hTagWnd, szBuf ) ;
            }
            break ;
        // 可以添加对其他鼠标消息的处理
        case WM_LBUTTONDOWN:    break ;
        case WM_LBUTTONUP:        break ;
        case WM_LBUTTONDBLCLK:    break ;
        }
    }
    // 继续传递消息
    return CallNextHookEx ( hMouse, nCode, wParam, lParam ) ;
}

// 钩子控制函数,能够启动/卸载钩子
BOOL WINAPI SetHook ( HWND hwnd, BOOL isInstall )
{
    // 需要安装,且鼠标钩子不存在
    if ( isInstall && !hMouse )
    {
        // 保存窗体句柄到共享段
        hTagWnd = hwnd ;   

        // 设置全局钩子
        hMouse = SetWindowsHookEx ( WH_MOUSE, (HOOKPROC)MouseProc, hDllInst, 0 ) ;
        if ( hMouse == NULL )
            return FALSE ;
    }

    // 需要卸载,且鼠标钩子存在
    if ( !isInstall && hMouse )
    {
        // 卸载钩子
        BOOL ret = UnhookWindowsHookEx ( hMouse ) ;
        hMouse        = NULL ;
        hTagWnd        = NULL ;
        return ret ;
    }

    return TRUE ;
}
[attachment=56]

67

主题

115

回帖

0

积分

版主

积分
0
发表于 2013-7-8 15:55:25 | 显示全部楼层
:  :  :  :

0

主题

38

回帖

0

积分

版主

积分
0
发表于 2013-7-8 20:24:01 | 显示全部楼层
学习徐诶

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2013-7-22 08:27:03 | 显示全部楼层
谢谢分享

0

主题

11

回帖

0

积分

新手上路

积分
0
发表于 2013-8-2 15:05:14 | 显示全部楼层
好冷清啊,
昭姐,看来他们更喜欢视频,看不懂源码哈哈

0

主题

16

回帖

0

积分

新手上路

积分
0
发表于 2013-8-23 00:01:48 | 显示全部楼层
学习??????????

0

主题

9

回帖

0

积分

新手上路

积分
0
发表于 2013-8-24 00:04:34 | 显示全部楼层
~~看大神~~~~~~

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2013-9-19 23:53:08 | 显示全部楼层
...................................

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2013-10-8 22:40:11 | 显示全部楼层
好!!!

0

主题

2

回帖

0

积分

新手上路

积分
0
发表于 2013-11-13 10:34:09 | 显示全部楼层
vartation
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 03:23 , Processed in 0.122763 second(s), 21 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表