Chinaunix首页 | 论坛 | 博客
  • 博客访问: 65726
  • 博文数量: 42
  • 博客积分: 1730
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 13:06
文章分类

全部博文(42)

文章存档

2011年(1)

2009年(41)

我的朋友

分类: C/C++

2009-11-13 22:12:21

vs2008下使用动态链接库
一:静态链接方法:
1:创建dll文件
void SetHook() //要导出的函数
{
 
}
2:创建应用文件
将.lib和.dll文件拷贝到当前目录下
#pragma comment(lib, "HookDll2")
_declspec(dllimport) void SetHook();   //函数的申明也可以放到动态链接库的头文件里,不过到时候要拷贝那个.h文件到当前目录
然后就可以使用导出函数

二:动态链接方法:
在dll里添加def文件,并重新编译,现在只要用.dll即可以
 HMODULE hModule = ::LoadLibrary(L"..\\..\\HookDll2\\Debug\\HookDll2.dll");  //注意在vc 6.0下只要上一级目录就可以
 if (hModule != NULL)
 {
  FARPROC mExportFunc = (FARPROC)::GetProcAddress(hModule, "SetHook");
  if (mExportFunc != NULL)
  {
   mExportFunc();  //调用函数
  }
  else
  {
   MessageBox(L"Hello1", 0, 0);
  }
  ::FreeLibrary(hModule);
 }
 else
 {
  MessageBox(L"Hello2", 0, 0);
 }
阅读(1377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~