在VisualStudio 2008中使用mmsystem.h

rod*_*dro 1 c++ 64-bit winapi

我正在尝试创建一个设置全局钩子的64位dll.正如我所读到的那样无法用CLR完成(我甚至尝试过),所以我创建了一个Win32项目,我将为64位平台构建它.它会以这种方式工作吗?

我的主要问题是如何在这个项目中使用mmsystem.h.我需要使用多媒体计时器,当我使用timeBeginPeriod或timeSetEvent时,我有一个链接器错误:

1> dll64.obj:错误LNK2019:未解析的外部符号__imp__timeSetEvent @ 20在函数_InstallHook1中引用@ 0
1> dll64.obj:错误LNK2019:未解析的外部符号__imp__timeBeginPeriod @ 4在函数_InstallHook1 @ 0中引用

如何解决这个问题?

Han*_*ant 6

您必须与winmm.lib链接,它不是链接的默认库之一.一种简单的方法是将链接指令放在源代码中:

#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
Run Code Online (Sandbox Code Playgroud)