• WINCE的钩子


    我们知道钩子编程是DESKTOP当中相当常见的方式,不过WINCE下实现很麻烦。我前一段做了个这方面的小应用,给大家分享一下!
    参看WinCE的winbase.h,wince下可以使用以下三种:
    #define WH_JOURNALRECORD 0
     #define WH_JOURNALPLAYBACK 1
    #define WH_KEYBOARD_LL 20
    wince并不支持钩子。但是是不是不支持呢?只能说不直接支持钩子,用别的方法也是可以使用钩子函数的,那就是直接获取钩子函数地址,然后调用的方法。
     g_hHookApiDLL = LoadLibrary(_T("coredll.dll"));
    SetWindowsHookEx = (_SetWindowsHookExW)GetProcAddress(g_hHookApiDLL, _T("SetWindowsHookExW"));
    这样一个SETWINDOWSHOOKEX就得到了:)
    如法炮制,可以获得其他两个函数的地址,有了这三个函数的地址,就可以类似这样使用了: g_hInstalledLLKBDhook = SetWindowsHookEx(WH_KEYBOARD_LL, keyboardProc, hInstance, 0);
    有了这些函数的指针,就可以按照大多WINDOWS下编程的方法来做了。不过钩子一定要甚用,我现在做的东西曾经一度就是把HTC搞到要刷机才能使的。

  • 相关阅读:
    AOP的实现原理——动态代理
    反射
    代理模式
    sprig——jar包
    spring事务管理
    [c++基础]3/5原则--拷贝构造函数+拷贝赋值操作符
    [c++面试准备]--vector对象是如何增长的
    c++面试须知
    redhat--1
    kvm配置虚拟机[待整理]
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458402.html
Copyright © 2020-2023  润新知