DLL代码

#include <Windows.h>BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:MessageBox(NULL, L"dllHook", L"Hook", MB_OK);break;case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE;
}extern "C"
{__declspec(dllexport) int  add(int x, int y){return x + y;}__declspec(dllexport) int  sub(int x, int y){return x - y;}
}

exe代码

#include <Windows.h>
#include <cstdio>typedef int (*func)(int a, int b);
func add;
func sub;int main()
{HINSTANCE dllHins = LoadLibrary(L"hookNotepadDLL.dll");if (dllHins == NULL) {printf("Load Failed\n");}else {printf("Load Success\n");}add = (func)GetProcAddress((HMODULE)dllHins, "add");if (add == NULL) {printf("Get ADD function failed\n");return 1;}sub = (func)GetProcAddress((HMODULE)dllHins, "sub");if (sub == NULL) {printf("Get SUB function failed\n");return 1;}printf("%d %d\n", add(4, 5), sub(9, 4));return 0;
}

结果

工具

查看dll导出的函数:dumpbin dllname /exports

Windows Hook(2)调用DLL函数相关推荐

  1. JNA调用DLL函数遇到的几个问题

    最近一个JSP项目需要用到分词模块,而分词模块实用C++写成的DLL库.于是上网搜各种方法,最后选择了JNA作为JSP调用DLL的工具. JNA(Java Native Access )提供一组Jav ...

  2. python调用c函数传字符串参数_Python使用ctypes模块调用DLL函数之传递数值、指针与字符串参数...

    在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...

  3. c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...

    在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...

  4. 在 C++Builder 工程里调用 DLL 函数

    调用 Visual C++ DLL 给 C++Builder 程序员提出了一些独特的挑战.在我们试图解决 Visual C++ 生成的 DLL 之前,回顾一下如何调用一个 C++Builder 创建的 ...

  5. python调用dll函数_从Python调用DLL函数

    我想从Python调用DLL中的函数.但我有个错误:"Attribute Error function not found" 这是我的代码:import os import cty ...

  6. python调用dll函数_关于从加载的DLL调用函数的Python基本问题

    我是在搜索和尝试各种各样的例子后提出这个问题的,但我似乎无法从加载的DLL调用函数.我想如果有人能给我举一个例子,我就能理解我做错了什么,并取得一些进展.在 首先,使用Python 3.3.3可以加载 ...

  7. 使用Jna调用dll函数库(java使用jna对接硬件接口)

    记录一次项目经历,新公司开发过程中遇到了硬件对接的需求,没有接触过这方面的我一想到这些就很头大,花了几天时间来专门研究一下这个.一般硬件购买后厂家都会附赠一些开发文档,有各种语言的demo,里面其实重 ...

  8. python调用dll函数指针_python使用ctypes库调用DLL动态链接库

    最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用. ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调 ...

  9. php调用dll函数,[转载]matlab调用DLL中的函数

    首先,这种调用在 Matlab 的帮助文档中有说明.它的英文名称为: MATLAB Interface to Generic DLLs 从这个帮助文档,我们不难看出,整个过程为:加载 DLL ,调用相 ...

最新文章

  1. 结合EM快速解决复杂的配置问题
  2. 亚马逊:自动选择AI模型,进化论方法效率更高!
  3. Cloudera Manager集群官方默认的各个组件开启默认顺序(图文详解)
  4. C# 5.0中新增特性
  5. Tensorflow载入模型详解,方法一(基础版):针对测试模型性能 和 使用模型。
  6. SparkException: Python worker failed to connect back
  7. 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...
  8. linux怎么看是否安装kde桌面,ubuntu 7上安装kde桌面
  9. python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 漫画 |《程序员十二时辰》,内容过于真实 ...
  11. python数据预处理——数据分箱(将值归类)
  12. AcWing 4244. 牛的比赛(双向建图BFS)
  13. R语言—如何下载和使用包
  14. 2015年两化融合管理体系贯标试点企业
  15. 小鹤双拼学习指引-by小鹤双拼作者-散步的鹤
  16. Office之word如何删除页眉横线
  17. 并行计算(三):并行计算效能的评估
  18. 博客园:CSS HTML
  19. POI获取文本单元格的数字变成科学计数法的处理方法
  20. 卸载EDR软件(简单记录)

热门文章

  1. 查看mysql 中建立的表空间_mysql 表空间及索引的查看
  2. 检验例题_高考必考|化学工艺流程之物质的分离提纯及检验鉴别,轻松拿分
  3. 液位单闭环实验计算机控制,过程控制实验指导书
  4. 学习笔记-AngularJs(四)
  5. 面试整理(1):原生ajax
  6. 如何优雅的链式取值之 MayBe 函子
  7. 三个实用的提升网页性能技巧
  8. 聊聊一直困扰前端程序员的浏览器兼容-【css】
  9. centos7.3 安装 mysql-5.7.13
  10. 【谈谈IO】BIO、NIO和AIO