欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解MFC/C++調(diào)用易語(yǔ)言的整數(shù)型和文本型與VS2010互動(dòng)

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

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;  //實(shí)例句柄


//加載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動(dòng)態(tài)庫(kù)失敗!");
    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("加載動(dòng)態(tài)庫(kù)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

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

/************************************************************************/
/*易語(yǔ)言:整數(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

/************************************************************************/
/*易語(yǔ)言:字符串接口  <返回值,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 *

/************************************************************************/
/*易語(yǔ)言使用外部定義
/***********************************************************************/
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的那個(gè)項(xiàng)目文件

// testDll.cpp : 定義應(yīng)用程序的類(lèi)行為。
//

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

#include "LoadDLL.h"

//*************原來(lái)的代碼不動(dòng)******************

BOOL CtestDllApp::InitInstance()
{  
    //這里上面不動(dòng),下面加載DLL,就是游戲讀條一樣的,現(xiàn)在只有一個(gè)
  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: 在此放置處理何時(shí)用
    // “確定”來(lái)關(guān)閉對(duì)話(huà)框的代碼
  }
  else if (nResponse == IDCANCEL)
  {
    // TODO: 在此放置處理何時(shí)用
    // “取消”來(lái)關(guān)閉對(duì)話(huà)框的代碼
  }

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

  // 由于對(duì)話(huà)框已關(guān)閉,所以將返回 FALSE 以便退出應(yīng)用程序,
  // 而不是啟動(dòng)應(yīng)用程序的消息泵。
  return FALSE;
}

4、這里帶Dlg的那個(gè)項(xiàng)目文件

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

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

  AfxMessageBox(MFCdll_OneCHAR_OneVOID());
}

5、教程結(jié)束。

相關(guān)文章

  • C++中Covariant返回值類(lèi)型詳解

    C++中Covariant返回值類(lèi)型詳解

    這篇文章主要介紹了C++中Covariant返回值類(lèi)型詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以可以參考一下
    2022-09-09
  • C++ win系統(tǒng)如何用MinGW編譯Boost庫(kù)

    C++ win系統(tǒng)如何用MinGW編譯Boost庫(kù)

    這篇文章主要介紹了C++ win系統(tǒng)如何用MinGW編譯Boost庫(kù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C++ explicit關(guān)鍵字的應(yīng)用方法詳細(xì)講解

    C++ explicit關(guān)鍵字的應(yīng)用方法詳細(xì)講解

    C++ explicit關(guān)鍵字用來(lái)修飾類(lèi)的構(gòu)造函數(shù),表明該構(gòu)造函數(shù)是顯式的,既然有"顯式"那么必然就有"隱式",那么什么是顯示而什么又是隱式的呢?下面就讓我們一起來(lái)看看這方面的知識(shí)吧
    2013-09-09
  • Qt QTreeWidget 樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)代碼

    Qt QTreeWidget 樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)代碼

    Qt中實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)可以使用QTreeWidget類(lèi),也可以使用QTreeView類(lèi),QTreeWidget繼承自QTreeView類(lèi),接下來(lái)通過(guò)本文給大家介紹Qt QTreeWidget 樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2021-11-11
  • C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼

    C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼

    這篇文章主要介紹了C++實(shí)現(xiàn)比特幣系統(tǒng)的源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • C++獲取內(nèi)存使用情況小結(jié)

    C++獲取內(nèi)存使用情況小結(jié)

    在程序編程過(guò)程中,為了防止出現(xiàn)內(nèi)存泄漏情況出現(xiàn),需要持續(xù)關(guān)注內(nèi)存程序內(nèi)存占用情況,本文主要介紹了C++獲取內(nèi)存使用情況小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng)

    C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • C語(yǔ)言中格式化輸出符號(hào)%d、%c、%p、%x等詳解

    C語(yǔ)言中格式化輸出符號(hào)%d、%c、%p、%x等詳解

    格式化輸出在C語(yǔ)言中非常常用,提供了多種用法來(lái)控制輸出的格式,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中格式化輸出符號(hào)%d、%c、%p、%x等的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • FFmpeg獲取網(wǎng)絡(luò)攝像頭數(shù)據(jù)解碼

    FFmpeg獲取網(wǎng)絡(luò)攝像頭數(shù)據(jù)解碼

    這篇文章主要為大家詳細(xì)介紹了FFmpeg獲取網(wǎng)絡(luò)攝像頭數(shù)據(jù)解碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • C++容器適配器的概念與示例

    C++容器適配器的概念與示例

    C++?STL(標(biāo)準(zhǔn)模板庫(kù))是一套功能強(qiáng)大的?C++?模板類(lèi),提供了通用的模板類(lèi)和函數(shù),這些模板類(lèi)和函數(shù)可以實(shí)現(xiàn)多種流行和常用的算法和數(shù)據(jù)結(jié)構(gòu),如向量、鏈表、隊(duì)列、棧,今天我們來(lái)探究一下stl容器適配器的使用吧
    2023-01-01

最新評(píng)論