我正在尝试创建一个设置全局 Hook 的 64 位 dll。正如我所读,它不能用 CLR 完成(我什至尝试过),所以我创建了一个 Win32 项目,我将为 64 位平台构建它。 它会这样工作吗?
我的主要问题是如何在这个项目中使用mmsystem.h。我需要使用多媒体计时器,当我使用 timeBeginPeriod 或 timeSetEvent 时出现链接器错误:
1>dll64.obj : error LNK2019: unresolved external symbol __imp__timeSetEvent@20 referenced in function _InstallHook1@0
1>dll64.obj : error LNK2019: unresolved external symbol __imp__timeBeginPeriod@4 referenced in function _InstallHook1@0
如何解决这个问题?
最佳答案
您必须链接 winmm.lib,它不是链接的默认库之一。一种简单的方法是将链接指令放在您的源代码中:
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
关于c++ - 在 Visual Studio 2008 中使用 mmsystem.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5505706/