最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解MFC/C++調用易語言的整數(shù)型和文本型與VS2010互動

 更新時間:2018年11月12日 10:08:32   投稿:laozhang  
在本篇文章里我們給大家分享了MFC/C++調用易語言的整數(shù)型和文本型與VS2010互動相關知識點內容,有興趣的朋友們可以參考下。

1、LoadDll.cpp

#include "StdAfx.h"
#include "LoadDLL.h"

pMFCdll_OneVOID_OneVOID    MFCdll_OneVOID_OneVOID;
pMFCdll_OneWORD_OneVOID    MFCdll_OneWORD_OneVOID;
pMFCdll_OneCHAR_OneVOID    MFCdll_OneCHAR_OneVOID;


pMFCdll_OneWORD_OneWORD    MFCdll_OneWORD_OneWORD;
pMFCdll_OneWORD_TwoWORD    MFCdll_OneWORD_TwoWORD;
pMFCdll_OneWORD_ThreeWORD  MFCdll_OneWORD_ThreeWORD;
pMFCdll_OneWORD_FourWORD  MFCdll_OneWORD_FourWORD;
pMFCdll_OneWORD_FiveWORD  MFCdll_OneWORD_FiveWORD;
pMFCdll_OneWORD_SixWORD    MFCdll_OneWORD_SixWORD;


pMFCdll_OneWORD_OneChar    MFCdll_OneWORD_OneChar;
pMFCdll_OneWORD_TwoChar    MFCdll_OneWORD_TwoChar;
pMFCdll_OneWORD_ThreeChar  MFCdll_OneWORD_ThreeChar;
pMFCdll_OneWORD_FourChar  MFCdll_OneWORD_FourChar;
pMFCdll_OneWORD_FiveChar  MFCdll_OneWORD_FiveChar;
pMFCdll_OneWORD_SixChar    MFCdll_OneWORD_SixChar;


pMFCdll_OneChar_OneChar    MFCdll_OneChar_OneChar;
pMFCdll_OneChar_TwoChar    MFCdll_OneChar_TwoChar;
pMFCdll_OneChar_ThreeChar  MFCdll_OneChar_ThreeChar;
pMFCdll_OneChar_FourChar  MFCdll_OneChar_FourChar;
pMFCdll_OneChar_FiveChar  MFCdll_OneChar_FiveChar;
pMFCdll_OneChar_SixChar    MFCdll_OneChar_SixChar;


pMFCdll_OneChar_OneWORD    MFCdll_OneChar_OneWORD;
pMFCdll_OneChar_TwoWORD    MFCdll_OneChar_TwoWORD;
pMFCdll_OneChar_ThreeWORD  MFCdll_OneChar_ThreeWORD;
pMFCdll_OneChar_FourWORD  MFCdll_OneChar_FourWORD;
pMFCdll_OneChar_FiveWORD  MFCdll_OneChar_FiveWORD;
pMFCdll_OneChar_SixWORD    MFCdll_OneChar_SixWORD;


HINSTANCE  g_Hinstance;  //實例句柄


//加載DLL
BOOL LoadDll(char *name)
{
  
  if(g_Hinstance != NULL) return TRUE;  //如果g_Hinstance不為空就返回

  MFCdll_OneWORD_SixWORD = NULL;  //這里是加載ZJY_SoftOverTime用的
  MFCdll_OneCHAR_OneVOID = NULL;  //這里是加載ZJY_GetSystemDisk用的

  g_Hinstance = LoadLibrary(name);
  if(g_Hinstance == NULL)
  {
//    AfxMessageBox("加載dll動態(tài)庫失敗!");
    return FALSE;
  }

  MFCdll_OneWORD_SixWORD = (pMFCdll_OneWORD_SixWORD)GetProcAddress(g_Hinstance, "ZJY_SoftOverTime");
  MFCdll_OneCHAR_OneVOID = (pMFCdll_OneCHAR_OneVOID)GetProcAddress(g_Hinstance, "ZJY_GetSystemDisk");
  if(NULL == MFCdll_OneWORD_SixWORD || NULL == MFCdll_OneCHAR_OneVOID)
  {
//    AfxMessageBox("加載動態(tài)庫MFCCallBackDllTest函數(shù)失敗");
    FreeLibrary(g_Hinstance);
    g_Hinstance = NULL;
    return FALSE;
  }
  return TRUE;
}

//卸載DLL
void UninstallDll()
{
  if (g_Hinstance != NULL)
  {
    MFCdll_OneWORD_SixWORD = NULL;
    MFCdll_OneCHAR_OneVOID = NULL;
    FreeLibrary(g_Hinstance);
    g_Hinstance = NULL;
  }
}

2、LoadDll.h

#ifndef __MFCCLOADDLL_H
#define __MFCCLOADDLL_H

#include <windows.h>

BOOL LoadDll(char *name);  //加載DLL
void UninstallDll();    //卸載DLL

/************************************************************************/
/*易語言:沒參數(shù)帶返回值的,不帶的。
/***********************************************************************/
typedef void  (WINAPI *pMFCdll_OneVOID_OneVOID)  ();  //返回VOID
typedef WORD  (WINAPI *pMFCdll_OneWORD_OneVOID)  ();  //返回WORD
typedef char * (WINAPI *pMFCdll_OneCHAR_OneVOID)  ();  //返回CHAR

/************************************************************************/
/*易語言:整數(shù)型接口  <返回值,整數(shù)型>(整數(shù)型 a, 整數(shù)型 b,整數(shù)型 c,整數(shù)型 d,整數(shù)型 e,整數(shù)型 f)*/
/***********************************************************************/
typedef WORD (WINAPI *pMFCdll_OneWORD_OneWORD)  (WORD a);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_TwoWORD)  (WORD a , WORD b);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_ThreeWORD)(WORD a , WORD b ,WORD c);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_FourWORD)  (WORD a , WORD b ,WORD c ,WORD d);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_FiveWORD)  (WORD a , WORD b ,WORD c ,WORD d ,WORD e);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_SixWORD)  (WORD a , WORD b ,WORD c ,WORD d ,WORD e,WORD f);  //返回WORD

typedef WORD (WINAPI *pMFCdll_OneWORD_OneChar)  (char * a);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_TwoChar)  (char * a , char * b);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_ThreeChar)(char * a , char * b ,char * c);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_FourChar)  (char * a , char * b ,char * c ,char * d);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_FiveChar)  (char * a , char * b ,char * c ,char * d ,char * e);  //返回WORD
typedef WORD (WINAPI *pMFCdll_OneWORD_SixChar)  (char * a , char * b ,char * c ,char * d ,char * e,char * f);  //返回WORD

/************************************************************************/
/*易語言:字符串接口  <返回值,CString>(文本型 a, 整數(shù)型 b,整數(shù)型 c,整數(shù)型 d,整數(shù)型 e,整數(shù)型 f)*/
/***********************************************************************/
typedef char * (WINAPI *pMFCdll_OneChar_OneChar)  (char *);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_TwoChar)  (char * , char *);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_ThreeChar)  (char * , char * ,char *);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_FourChar)  (char * , char * ,char * ,char *);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_FiveChar)  (char * , char * ,char * ,char * ,char *);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_SixChar)  (char * , char * ,char * ,char * ,char * ,char *);  //返回cahr *

typedef char * (WINAPI *pMFCdll_OneChar_OneWORD)  (WORD a);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_TwoWORD)  (WORD a , WORD b);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_ThreeWORD)  (WORD a , WORD b ,WORD c);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_FourWORD)  (WORD a , WORD b ,WORD c ,WORD d);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_FiveWORD)  (WORD a , WORD b ,WORD c ,WORD d ,WORD e);  //返回cahr *
typedef char * (WINAPI *pMFCdll_OneChar_SixWORD)  (WORD a , WORD b ,WORD c ,WORD d ,WORD e,WORD f);  //返回cahr *

/************************************************************************/
/*易語言使用外部定義
/***********************************************************************/
extern pMFCdll_OneVOID_OneVOID    MFCdll_OneVOID_OneVOID;
extern pMFCdll_OneWORD_OneVOID    MFCdll_OneWORD_OneVOID;
extern pMFCdll_OneCHAR_OneVOID    MFCdll_OneCHAR_OneVOID;


extern pMFCdll_OneWORD_OneWORD    MFCdll_OneWORD_OneWORD;
extern pMFCdll_OneWORD_TwoWORD    MFCdll_OneWORD_TwoWORD;
extern pMFCdll_OneWORD_ThreeWORD  MFCdll_OneWORD_ThreeWORD;
extern pMFCdll_OneWORD_FourWORD    MFCdll_OneWORD_FourWORD;
extern pMFCdll_OneWORD_FiveWORD    MFCdll_OneWORD_FiveWORD;
extern pMFCdll_OneWORD_SixWORD    MFCdll_OneWORD_SixWORD;


extern pMFCdll_OneWORD_OneChar    MFCdll_OneWORD_OneChar;
extern pMFCdll_OneWORD_TwoChar    MFCdll_OneWORD_TwoChar;
extern pMFCdll_OneWORD_ThreeChar  MFCdll_OneWORD_ThreeChar;
extern pMFCdll_OneWORD_FourChar    MFCdll_OneWORD_FourChar;
extern pMFCdll_OneWORD_FiveChar    MFCdll_OneWORD_FiveChar;
extern pMFCdll_OneWORD_SixChar    MFCdll_OneWORD_SixChar;


extern pMFCdll_OneChar_OneChar    MFCdll_OneChar_OneChar;
extern pMFCdll_OneChar_TwoChar    MFCdll_OneChar_TwoChar;
extern pMFCdll_OneChar_ThreeChar  MFCdll_OneChar_ThreeChar;
extern pMFCdll_OneChar_FourChar    MFCdll_OneChar_FourChar;
extern pMFCdll_OneChar_FiveChar    MFCdll_OneChar_FiveChar;
extern pMFCdll_OneChar_SixChar    MFCdll_OneChar_SixChar;


extern pMFCdll_OneChar_OneWORD    MFCdll_OneChar_OneWORD;
extern pMFCdll_OneChar_TwoWORD    MFCdll_OneChar_TwoWORD;
extern pMFCdll_OneChar_ThreeWORD  MFCdll_OneChar_ThreeWORD;
extern pMFCdll_OneChar_FourWORD    MFCdll_OneChar_FourWORD;
extern pMFCdll_OneChar_FiveWORD    MFCdll_OneChar_FiveWORD;
extern pMFCdll_OneChar_SixWORD    MFCdll_OneChar_SixWORD;


#endif    //MFCCLOADDLL_H

3、這里為不帶Dlg的那個項目文件

// testDll.cpp : 定義應用程序的類行為。
//

#include "stdafx.h"
#include "testDll.h"
#include "testDllDlg.h"

#include "LoadDLL.h"

//*************原來的代碼不動******************

BOOL CtestDllApp::InitInstance()
{  
    //這里上面不動,下面加載DLL,就是游戲讀條一樣的,現(xiàn)在只有一個
  if(LoadDll("C://Users//Administrator//Desktop//ZJDLLV1.0.3.dll") == FALSE)
  {

    AfxMessageBox("ZJDLLV1.0.3.dll,加載失敗!");
    AfxGetMainWnd()->CloseWindow();    
  }
  else
  {
    AfxMessageBox("ZJDLLV1.0.3.dll,加載成功!");
  }
    //下面系統(tǒng)的
  CtestDllDlg dlg;
  m_pMainWnd = &dlg;
  INT_PTR nResponse = dlg.DoModal();
  if (nResponse == IDOK)
  {
    // TODO: 在此放置處理何時用
    // “確定”來關閉對話框的代碼
  }
  else if (nResponse == IDCANCEL)
  {
    // TODO: 在此放置處理何時用
    // “取消”來關閉對話框的代碼
  }

  // 刪除上面創(chuàng)建的 shell 管理器。
  if (pShellManager != NULL)
  {
    delete pShellManager;
  }

  // 由于對話框已關閉,所以將返回 FALSE 以便退出應用程序,
  // 而不是啟動應用程序的消息泵。
  return FALSE;
}

4、這里帶Dlg的那個項目文件

#include "LoadDLL.h"
//-------中間的不動---------
//這里是按鈕單機自動生成的槽函數(shù)
void CtestDllDlg::OnBnClickedOk()
{ 
  WORD reslut = MFCdll_OneWORD_SixWORD(2017,9,7,15,23,0);

  if(reslut == 1)
  {
    AfxMessageBox("軟件可正常使用!");
  }
  else if(reslut == 0)
  {
    AfxMessageBox("軟件已過期!");
  }

  AfxMessageBox(MFCdll_OneCHAR_OneVOID());
}

5、教程結束。

相關文章

  • C++ OpenCV學習之圖像像素值統(tǒng)計

    C++ OpenCV學習之圖像像素值統(tǒng)計

    在圖像分析的時候,我們經常需要對單通道圖像的像素進行統(tǒng)計。本文將主要介紹利用C++ OpenCV實現(xiàn)的圖像像素值統(tǒng)計的幾種方法,需要的可以參考一下
    2022-01-01
  • 如何用C寫一個web服務器之GCC項目編譯

    如何用C寫一個web服務器之GCC項目編譯

    本文主要介紹了,如何用C寫一個web服務器,Linux下用GCC進行項目編譯,對此感興趣的同學,可以參考下。
    2021-05-05
  • C語言實現(xiàn)數(shù)據(jù)結構串(堆分配存儲表示法)實例詳解

    C語言實現(xiàn)數(shù)據(jù)結構串(堆分配存儲表示法)實例詳解

    這篇文章主要介紹了C語言實現(xiàn)數(shù)據(jù)結構串(堆分配存儲表示法)實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • C/C++?pthread線程庫使用示例詳解

    C/C++?pthread線程庫使用示例詳解

    這篇文章主要介紹了C/C++?pthread線程庫使用示例詳解,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Cocos2d-x人物動作類實例

    Cocos2d-x人物動作類實例

    這篇文章主要介紹了Cocos2d-x人物動作類實例,本文用大量代碼和圖片講解Cocos2d-x中的動作,代碼中同時包含大量注釋說明,需要的朋友可以參考下
    2014-09-09
  • C語言?動態(tài)內存管理全面解析

    C語言?動態(tài)內存管理全面解析

    動態(tài)內存是相對靜態(tài)內存而言的。所謂動態(tài)和靜態(tài)就是指內存的分配方式。動態(tài)內存是指在堆上分配的內存,而靜態(tài)內存是指在棧上分配的內存,本文帶你深入探究C語言中動態(tài)內存的管理
    2022-02-02
  • C語言實現(xiàn)無頭單鏈表詳解

    C語言實現(xiàn)無頭單鏈表詳解

    大家好,本篇文章主要講的是C語言實現(xiàn)無頭單鏈表詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • c++實現(xiàn)合并文件以及拆分實例代碼

    c++實現(xiàn)合并文件以及拆分實例代碼

    這篇文章主要介紹了c++實現(xiàn)合并文件以及拆分實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 如何在C++中實現(xiàn)一個正確的時間循環(huán)器詳解

    如何在C++中實現(xiàn)一個正確的時間循環(huán)器詳解

    這篇文章主要給大家介紹了關于如何在C++中實現(xiàn)一個正確的時間循環(huán)器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • C++四種case的詳細介紹小結

    C++四種case的詳細介紹小結

    本文主要介紹了C++四種case的詳細介紹小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05

最新評論

长泰县| 安达市| 山西省| 南陵县| 马公市| 湖口县| 马鞍山市| 西和县| 唐河县| 鄯善县| 寻乌县| 浮山县| 汾阳市| 高淳县| 嘉善县| 永城市| 上犹县| 鄂尔多斯市| 始兴县| 绥芬河市| 元朗区| 高邑县| 会泽县| 丽江市| 镇原县| 大方县| 崇仁县| 页游| 健康| 博白县| 航空| 神农架林区| 新巴尔虎右旗| 溆浦县| 宽城| 海盐县| 比如县| 余江县| 榆中县| 宽甸| 肇东市|