代码之家  ›  专栏  ›  技术社区  ›  Mikulas Dite

在DLL中调用keyboardprocedure

  •  1
  • Mikulas Dite  · 技术社区  · 15 年前

    我有一个简单的标题 INPUTHOOK_EXPORTS 在IDE中定义,因此dll导出(visualstudio)。

    #pragma once
    
    #ifdef INPUTHOOK_EXPORTS
        #define INPUTHOOK_API __declspec(dllexport)
    #else
        #define INPUTHOOK_API __declspec(dllimport)
    #endif
    
    INPUTHOOK_API void InstallInputHook();
    INPUTHOOK_API void RemoveInputHook();
    

    当然还有:

    The cpp file

    问题是,当我试图编译这个库时,我得到两个未解析的外部,一个用于 SetWindowsHookEx 以及 UnhookWindowsHookEx

    谢谢你

    2 回复  |  直到 15 年前
        1
  •  0
  •   Greg Domjan    15 年前

    SetWindowsHookEx 是一个宏,应该变成 SetWindowsHookExA' for ascii or 设置窗口钩子XW for wchar. Similary for
    报告的错误应该是特定于哪个函数丢失的-A或W-这似乎表明由于某种原因宏不在适当的位置。

    在cpp中似乎缺少winuser.h,但是在预编译的stdafx.h头中可能缺少winuser.h或等效的winuser.h。

        2
  •  0
  •   Alex F    15 年前

    从MSDN主题KeyboardProc:

    推荐文章