小弟,菜鸟一个,想求高手们帮忙!
谁能帮小弟解决以下几个问题:
1:如何实现.dll调用另外一个.dll
2: 如何使一个多文档调用已有.dll
小弟,这里有个现成的示例,可惜小弟不才,看不懂,望有高人指点一二!
解答这两个问题者救小弟于危难之中,万分感激!

解决方案 »

  1.   

    调用DLL有隐式调用和显式调用两种。
      

  2.   

    dll调用另外一个.dll

    exe调用Dll没什么区别吧
      

  3.   

    若一个已经创建好的DLL 相关文件为
    a.dll,a.lib,a.h
    a.h中应定义a.dll要输出的函数名,枚举等如:#ifdef REGISTUSE_EXPORTS
    #define DISKID_API  __declspec(dllexport)
    #else
    #define DISKID_API  __declspec(dllimport)
    #endif#define DLLEXPORT extern "C" _declspec(dllexport)//定义硬盘最大的数时 主硬盘/从硬盘,这时只得到第一个硬盘的参数,将值改为1
    #define  MAX_IDE_DRIVES  4//定义硬盘的类型  :未知             移动硬盘     固定硬盘
    typedef enum{UNKNOWN_DRIVER = 0, MOVE_DRIVER, FIXED_DRIVER};  //定义一个用于存储硬盘物理信息的结构体
    typedef struct HardDiskInfo
    {
       bool hasDriver;
       char Model_Number[128];  //硬盘的型号
       char Physical_Number[128];//硬盘的物理序列号*****************
       char Driver_RevNumber[128]; //硬盘的修正序列号
       __int64 Computer_ID;           //硬盘相对计算机的序号数
       long Driver_Buffer;         //硬盘的缓冲区大小
       UINT Driver_Type;           //硬盘类型
       INT  CyLinders;             //硬盘的柱面数
       INT  Heads;                 //硬盘的头数
       INT Sectors;                //硬盘每轨道的扇区数
    }HARDDISKINFO;
    //extern HardDiskInfo stuDiskInfo;
    //得到当前硬盘的信息
    //参数为硬盘的序号(当存在多硬盘时)
    bool  DISKID_API GetHardDiskInfo(HardDiskInfo &DiskInfo, INT diskIndex = 0);//得到网卡MAC信息
    bool DISKID_API GetWebCardInfo(LPTSTR &webCardInfo);
      

  4.   

    创建b.dll工程时,需要先将a.dll文件复制到b.dll工程的开发目录下
    同时将a.lib和a.h也复制到b.dll工程目录下(也可不复制,用代码指定位置)
    在b.dll工程的stdafx.h中加入下面的代码
    #ifdef _DEBUG
    #pragma message("正在联接ad.lib  类库(Debug版) ...")
    #pragma comment(lib, "ad.lib")
    #else
    #pragma message("正在联接a.lib  类库(Release版) ...")
    #pragma comment(lib, "a.lib")
    #endif
    #endif#include "a.h"
    这样在b.dll中就可以直接使用a.h中定义的函数,枚举等了
      

  5.   

    PentiumMMX() 真是好人啊!问题已经解决了!
    我已经结帖,给分了!