Windows Hook(2)调用DLL函数
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函数相关推荐
- JNA调用DLL函数遇到的几个问题
最近一个JSP项目需要用到分词模块,而分词模块实用C++写成的DLL库.于是上网搜各种方法,最后选择了JNA作为JSP调用DLL的工具. JNA(Java Native Access )提供一组Jav ...
- python调用c函数传字符串参数_Python使用ctypes模块调用DLL函数之传递数值、指针与字符串参数...
在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...
- c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...
在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...
- 在 C++Builder 工程里调用 DLL 函数
调用 Visual C++ DLL 给 C++Builder 程序员提出了一些独特的挑战.在我们试图解决 Visual C++ 生成的 DLL 之前,回顾一下如何调用一个 C++Builder 创建的 ...
- python调用dll函数_从Python调用DLL函数
我想从Python调用DLL中的函数.但我有个错误:"Attribute Error function not found" 这是我的代码:import os import cty ...
- python调用dll函数_关于从加载的DLL调用函数的Python基本问题
我是在搜索和尝试各种各样的例子后提出这个问题的,但我似乎无法从加载的DLL调用函数.我想如果有人能给我举一个例子,我就能理解我做错了什么,并取得一些进展.在 首先,使用Python 3.3.3可以加载 ...
- 使用Jna调用dll函数库(java使用jna对接硬件接口)
记录一次项目经历,新公司开发过程中遇到了硬件对接的需求,没有接触过这方面的我一想到这些就很头大,花了几天时间来专门研究一下这个.一般硬件购买后厂家都会附赠一些开发文档,有各种语言的demo,里面其实重 ...
- python调用dll函数指针_python使用ctypes库调用DLL动态链接库
最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用. ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调 ...
- php调用dll函数,[转载]matlab调用DLL中的函数
首先,这种调用在 Matlab 的帮助文档中有说明.它的英文名称为: MATLAB Interface to Generic DLLs 从这个帮助文档,我们不难看出,整个过程为:加载 DLL ,调用相 ...
最新文章
- 结合EM快速解决复杂的配置问题
- 亚马逊:自动选择AI模型,进化论方法效率更高!
- Cloudera Manager集群官方默认的各个组件开启默认顺序(图文详解)
- C# 5.0中新增特性
- Tensorflow载入模型详解,方法一(基础版):针对测试模型性能 和 使用模型。
- SparkException: Python worker failed to connect back
- 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...
- linux怎么看是否安装kde桌面,ubuntu 7上安装kde桌面
- python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...
- 漫画 |《程序员十二时辰》,内容过于真实 ...
- python数据预处理——数据分箱(将值归类)
- AcWing 4244. 牛的比赛(双向建图BFS)
- R语言—如何下载和使用包
- 2015年两化融合管理体系贯标试点企业
- 小鹤双拼学习指引-by小鹤双拼作者-散步的鹤
- Office之word如何删除页眉横线
- 并行计算(三):并行计算效能的评估
- 博客园:CSS HTML
- POI获取文本单元格的数字变成科学计数法的处理方法
- 卸载EDR软件(简单记录)