zoukankan      html  css  js  c++  java
  • VC:键盘钩子函数

    1、创建一个Win32的动态链接库工程,在C++源文件中编写代码如下:

    #include <windows.h>

    HHOOK g_hKeyboard=NULL;

    LRESULT CALLBACK KeyboardProc(

      int code,       // hook code

      WPARAM wParam,  // virtual-key code

      LPARAM lParam   // keystroke-message information

    )

    {

           return 1;

    }

    void SetHook()

    {

           g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("KeyboardHook"),0);

    }

    2、添加头文件声明SetHook();

    void SetHook();

    3、添加一个模板定义文件(.def),并加载到工程。

    内容如下:

    ; KeyboardHook.def : Declares the module parameters for the DLL.

    LIBRARY      "KeyboardHook"

    DESCRIPTION  'KeyboardHook Windows Dynamic Link Library'

    EXPORTS

    SetHook; Explicit exports can go here

    4、编译、连接。

    二、新建应用程序:使用DLL

    1、将生成的DLL文件、Lib文件和test.h文件,复制到指定的目录下。并且在应用程序的.cpp文件中添加:#include "test.h"

    2、隐式加载Win32 Dll文件。选择Project|Setting命令,在弹出的对话框中选择Link标签,在“Object/Library module”文本框中输入需要导入的库文件lib的文件名。注意lib的路径。

    3、在OnInitDlg()函数中加入语句:

    SetHook();

    4、编译、连接、运行

  • 相关阅读:
    WPF TextBox 一些设置技巧
    Rust 初始配置
    Framework​Element.​Find​Name 根据名字查找控件
    C# SQLite 数据库操作
    MP3 信息读取
    C# event 事件学习
    Nginx 整合 Lua 实现动态生成缩略图
    Spring Cloud 入门 之 Config 篇(六)
    Spring Cloud 入门 之 Zuul 篇(五)
    Flyway 简单入门教程
  • 原文地址:https://www.cnblogs.com/shenchao/p/2941109.html
Copyright © 2011-2022 走看看