`
入云涛
  • 浏览: 156191 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用vc++创建dll,调用其它dll函数

阅读更多

使用vc++创建dll,调用其它dll函数
1.File-->New-->Projects-->Win32 Dynamic-Link Library
2.录入工程名称,选择 An empty DLL project.
3.File-->New-->Files-->C/C++ Header File-->输入文件名称MyDll.h
4.内容如下

 

#ifndef _MYDLL_H_
#define _MYDLL_H_

extern "C" _declspec (dllexport) int send(char *text,int com,int rate,int addr,int displayMode,int speed,int delayTime);
#endif

 
5.File-->New-->Files-->C++ Source File-->输入文件名称MyDll.cpp
6.内容如下

 

 

#include "MyDll.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>


int send(char *text,int com,int rate,int addr,int displayMode,int speed,int delayTime){
	char *dlladdr = "dll\\zy\\dlltpzp.dll";  
	HMODULE hModule = ::LoadLibrary(dlladdr);
	if (NULL == hModule) {
		return 0;
	}
	//加载函数
	int(_stdcall *SendDatafun)(int, long, int, char *, int, int, int, int);
	SendDatafun = (int(_stdcall *)(int, long, int, char *, int, int, int, int))GetProcAddress(hModule, "SendDatafun");
	if (NULL == SendDatafun)
	{
		::FreeLibrary(hModule);
		return -1;
	}
	UINT m_nDelayTime = 1;
	int nRetVal = SendDatafun(com, rate, addr, text,17, displayMode, speed, delayTime);
	if (0 > nRetVal)
	{
		return -2;
	}
	::FreeLibrary(hModule);
	return 1;
}

 
7.工程右键build编译完成
8.此类是加载了一个目录在dll\\zy\\dlltpzp.dll的dll文件,并调用该dll中的SendDatafun方法

 

分享到:
评论

相关推荐

    如何用VC++创建及调用DLL

    5. **加载和卸载**:在运行时,使用`LoadLibrary`和`FreeLibrary`函数来动态加载和卸载DLL,或者使用`GetProcAddress`获取函数指针以调用DLL中的函数。 在VC++中,创建DLL项目时,需要选择相应的DLL模板,并根据...

    VC++创建Dll与显示加载Dll

    3. **调用函数**:现在可以像调用普通函数一样调用DLL中的函数。 ```cpp ((void (*)( ))lpFunc)(); ``` 4. **释放DLL**:当不再需要DLL时,使用`FreeLibrary`释放DLL资源。 ```cpp FreeLibrary(hModule); ```...

    VC++动态调用DLL实列

    6. 调用DLL函数:现在,我们可以使用得到的函数指针调用DLL中的函数了: ```cpp myFunction(); ``` 7. 释放资源:最后,当不再需要DLL时,使用`FreeLibrary()`释放DLL资源: ```cpp FreeLibrary(hModule); ``` 在...

    VC++创建及调用Dll教程(包含正规dll和扩展dll)

    总之,通过这个"VC++创建及调用Dll教程",你可以学习到如何有效地利用DLL来提高代码的复用性和效率。无论是正规DLL还是扩展DLL,都能帮助你构建更加灵活和可维护的软件系统。通过实践和研究提供的源码,你将能够熟练...

    VC++编写DLL导出函数及其调用方法

    在VC++中创建和使用DLL涉及的关键步骤包括:创建DLL项目,编写导出函数,编译生成DLL文件,以及在其他程序中使用`LoadLibrary`和`GetProcAddress`调用DLL函数。这不仅有助于代码重用,还可以提高程序的性能,因为DLL...

    解开VC++调用.Net DLL的神秘面纱

    这里,`extern "C"`确保编译器使用C调用约定,`__declspec(dllimport)`表示此函数是从外部DLL导入的,`__stdcall`是.NET方法的默认调用约定。 2. **加载DLL**:在程序运行时,我们需要加载.NET DLL。可以使用...

    vc++如何创建和调用动态库

    2. **动态调用**:使用 Windows API 函数手动加载和卸载 DLL,例如: ```cpp #include #include typedef int (*lpAddFun)(int, int); int main() { HINSTANCE hDll; lpAddFun addFun; hDll = ...

    VC++ DLL for Socket

    在实际的开发过程中,开发者需要在`Communicate.cpp`中实现Socket的初始化、连接、监听、发送和接收等功能,并在`Communicate.DEF`中声明这些函数,以便外部程序可以通过DLL调用。`ConstVar.h`和`STRU_CMD_PARAM.h`...

    VC++ DLL 实现回调函数的实例

    DLL文件本质上是包含可执行代码和数据的库,它可以通过导出函数接口供其他应用程序或DLL调用。在VC++中,我们通常使用`__declspec(dllexport)`和`__declspec(dllimport)`关键字来控制函数或类的导出和导入。当在DLL...

    PB11.5创建DLL和调用示例_pb11添加新dll_PB11.5创建DLL和调用示例_

    这可以通过创建一个新的PB应用程序,添加一个事件(如按钮的Click事件),然后在事件处理程序中调用DLL函数。 6. **调用DLL**:在PB11.5中调用DLL有几种方式,比如使用`DLLFunction`或`DLLProcedure`对象,或者通过...

    VC调用DLL中资源

    在VC++开发中,有时我们需要...总结来说,VC++调用DLL中的资源涉及了DLL的创建、资源的添加、导出资源函数的实现以及在主程序中加载和使用这些资源。掌握这些技巧,将有助于你在开发中实现更加高效和灵活的代码结构。

    TestDLL(VC++2010制造和调用DLL)

    - 在新项目中,可以使用`LoadLibrary`和`GetProcAddress`函数动态加载并调用DLL中的函数,或者直接通过`#include`头文件静态链接。如果是静态链接,可以直接像调用普通函数一样调用`Add`。 6. **运行和调试** - ...

    VC++编写DLL供C#使用

    3. **调用函数**:现在可以在C#代码中像调用普通方法一样调用DLL中的函数了: ```csharp HelloWorld(); ``` **注意事项** 1. **字符编码**:C++默认使用宽字符(Unicode),而C#使用.NET字符串(UTF-16)。确保...

    VC++ InvokeDll调用DLL的例子代码

    总结,VC++中InvokeDll调用DLL的基本步骤包括创建DLL项目、定义函数、在主程序中加载和调用。这个过程涉及到Windows API的使用,如`LoadLibrary`和`GetProcAddress`,以及DLL导出和导入的规则。通过这种方式,我们...

    c#调用vc++dll,带调试vc++dll功能

    总的来说,C#调用VC++DLL需要理解跨语言调用的机制,正确配置函数签名,以及适当地处理资源管理。在调试过程中,利用Visual Studio的多项目调试能力,可以更有效地定位和解决问题。对于涉及GDI+的情况,还需要额外...

    vc++ 6.0 DLL 示例

    下面将详细阐述如何在VC++ 6.0中创建DLL以及如何在其他语言中调用这些DLL中的函数。 1. **创建DLL项目**: 在VC++ 6.0中,选择"文件" -&gt; "新建" -&gt; "工程",然后在工程类型中选择"动态链接库(DLL)"。设置好工程...

    VC++生成DLLVC++生成DLL

    #### 三、在PowerBuilder中调用VC++创建的DLL函数 要在PowerBuilder中使用上述创建的DLL,你需要进行以下步骤: 1. **函数声明**:在PowerBuilder中,你需要声明将要调用的DLL函数。声明应该包括函数的返回类型、...

    图形可视化VC++_DLL包

    然后,通过LoadLibrary和GetProcAddress等API动态加载和调用DLL函数,或者静态链接到DLL。 在给定的"图形可视化VC++_DLL包"中,可能包含了实现特定图形可视化功能的DLL文件。开发者可以将这些DLL集成到自己的项目中...

Global site tag (gtag.js) - Google Analytics