Detours是微软开发的一个库,可以在X86平台上截获任意Win32 API函数。
首先去微软官网上下载:http://research.microsoft.com/en-us/downloads/d36340fb-4d3c-4ddd-bf5b-1db25d03713d/
接着根据下载到的Detours 安装,直接一直Next就可(可以修改安装路径)
再接着将安装后的 Detours下的src文件夹(包括内部所有文件)拷贝到 你所安装的VS编译器下的VC文件下,
例如我的路径是“D:\VS2010C++\VC”
然后在src文件夹内新建一个批处理文件(createDetours.bat),内容是
<span style="font-size:18px;">call "D:\VS2010C++\VC\bin\vcvars32.bat" nmake -f Makefile all pause</span>
双击该批处理文件运行
如果出现 “..\system.mak” not found stop
则把Detours安装目录下的 Makefile 和 system.mak 拷贝到 VS编译器下的VC文件下,这样就可以批处理文件就可以运行成功了
批处理运行成功后会在VC文件夹下生成lib.x86文件夹,里面有 detours.lib文件
最后把src中的detours.h文件拷贝到VC下的include文件夹中,并且将生成的detours.lib文件拷贝到VC下的lib文件夹中,
这样你在VS编程中就可以运用Detours了。
在要用到的文件中加入#include <detours.h> 就可。
#pragma comment(lib,"detours.lib")
//#pragma comment(lib,"detoured.lib")//我看网上的例子有这个文件,可能我使用的Detouts3.0的缘故,生成后并没有detoursed.lib文件