VC动态调用DLL
1、
//函数指针声明
typedef int (_stdcall MYDLLFUN)(char* _pcOut, /*INOUT*/int *_piOutBufLen, char* _pcIn, int _iInBufLen);
2、
HINSTANCE hmydll=::LoadLibrary("_DrCompressDll.DLL");
mydllfun=(MYDLLFUN *)::GetProcAddress(hmydll, "CompressZ");
3、VS2010 动态调用 DLL示例:
#include <stdio.h>
#include <Windows.h> typedef int (__stdcall *TfnC_ExecJS)( void *_pSvgFrm, char* _pcJS );//定义形式对应的函数指针类型
typedef int (__stdcall *TfnD_PassStId)( void *Sender, char* _pcStId ); #define DLL_NAME "DrRemoteCall.dll" TfnC_ExecJS g_fnExecJS = NULL;//声明一个函数指针
TfnD_PassStId g_fnPassStId = NULL; void main()
{
HINSTANCE hDll = LoadLibraryA(DLL_NAME);
if(hDll == NULL)
{
printf("无法载入dll : %s\n", DLL_NAME);
FreeLibrary(hDll);
getchar();
return;
} g_fnExecJS = (TfnC_ExecJS)GetProcAddress(hDll, "ExecJS");
if(g_fnExecJS == NULL)
{
printf("无法获取函数地址(ExecJS)\n");
FreeLibrary(hDll);
getchar();
return;
}
g_fnPassStId = (TfnD_PassStId)GetProcAddress(hDll, "PassStId");
if(g_fnPassStId == NULL)
{
printf("无法获取函数地址(PassStId)\n");
FreeLibrary(hDll);
getchar();
return;
} // 调用函数
int iRtn = g_fnPassStId(NULL, "TestA");
printf("PassStId return %d\n", iRtn); FreeLibrary(hDll);
getchar();
return;
}
4、
5、
VC动态调用DLL的更多相关文章
- C#程序实现动态调用DLL的研究(转)
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- 卸载AppDomain动态调用DLL异步线程执行失败
应用场景 动态调用DLL中的类,执行类的方法实现业务插件功能 使用Assembly 来实现 但是会出现逻辑线程数异常的问题 使用AppDomain 实现动态调用,并卸载. 发现问题某个插件中开启异步线 ...
- 【VB技巧】VB静态调用与动态调用dll详解
本文“[VB技巧]VB静态调用与动态调用dll详解”,来自:Nuclear'Atk 网络安全研究中心,本文地址:http://lcx.cc/?i=489,转载请注明作者及出处! [[请注意]]:在以下 ...
- C#程序实现动态调用DLL的研究[转]
摘 要: 在< csdn 开发高手> 2004 年第 03 期中的<化功大法——将 DLL 嵌入 EXE >一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在 ...
- C#程序实现动态调用DLL的研究
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- 动态调用DLL函数有时正常,有时报Access violation的异常
动态调用DLL函数有时正常,有时报Access violation的异常 typedef int (add *)(int a,int b); void test() { hInst=LoadL ...
- 利用C#的反射机制动态调用DLL类库
最近由于业务要求,需要动态调用DLL类库,所以研究了一下,感觉还好也不太难,今天就把自己理解的写了一个小例子(已经通过VS2005跑通),供大家一起研究和探讨,有理解不当的地方还请高手们多多指正,谢谢 ...
- C#中动态调用DLL动态链接库(转)
本来是想实现控制台程序运行时自动全屏,但是只找到VC下的实现方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347). 其中要使用两个未公开的 ...
- 动态调用dll遇到的问题
问题:动态调用第三方提供的dll报错. Run-Time Check Failure #0 - The value of ESP was not properly saved across a fun ...
随机推荐
- [LeetCode] 443. String Compression_Easy tag:String
Given an array of characters, compress it in-place. The length after compression must always be smal ...
- testng入门教程4用TestNG执行case
使用TestNG类执行测试用例.这个类的主入口点在TestNG的框架运行测试.用户可以创建自己的TestNG的对象,并调用它以许多不同的方式: 在现有的testng.xml 合成testng.xml, ...
- Linux系统——LNMP分离式部署
#### 安装nginx ```[root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/[root@localhost ~]# cd /u ...
- 使用TreeView加载XML文件
PS: 由于小弟初学编程,本文只写实现方式,代码写的不是很好请见谅! 1.需要读取的xml文档内容 2. 最终实现效果 3 貌似看起实现起来很复杂 但是想想还是挺简单 思路: 读取XML文档 →获 ...
- LCD驱动
LCD的驱动情况比较多. 对于一般的LCD,驱动方式有MCU,MPU,SPI等.其中MCU方式不需要输入clk,vsync,hsync等信号.完全可以通过异步来驱动,但是这样难以将屏 幕做到很大.MP ...
- n的相反数
实例十:n的相反数 方法:result=(~n)+1 正数 负数 原数 0000 0011 1111 1111补码 1111 1100 0000 0010加一 1111 1011 0000 001 ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
- (六)最最基本的git操作
1.git init——初始化仓库 初始化成功的标志如下(.git默认为隐藏) 2.git status——查看仓库状态 ps:未跟踪的文件 (untracked files) 不妨在尝试在仓库建立一 ...
- 记一次ping: unknown host错误
虚拟机上一台主机,之前一直在用,可以通过xshell连接,但是忽然发现ping百度失败了! [root@mgt02 ~]# ping www.baidu.com ping: unknown host ...
- PHP进程及进程间通信
一.引言 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.换句话说就是,在系统调度多个cpu的时候,一个程序的基本单元.进程对于大多数的语言都不是一个陌生的概念,作为"世界上最好 ...