【圖解】C++控制檯調用MFC帶自定義界面的dll

※程序在vs2010編譯運行

1.使用vs2010新建mfc動態鏈接庫項目,
1
2

2.等待項目創建完成後,在資源管理器界面新添加自定義的對話框資源。
3
4

3.設好選項後,創建對話框,然後自行進行相關控件的配置。
5

4.之後在主界面上【右擊】【添加類】,並設好類名。
6

5.在生成的“類名”.cpp文件中添加控件消息(此處指添加了一個button控件做示範)。
7

6.添加好控件後,在“類名”.h文件中如下設置好導出函數(這裏使用標準C接口導出)。
8

7.之後在資源管理器中找到.def文件,添加要導出的函數名。*
9
全部設置好後,生成dll。
10

8.至此dll工程創建完畢,接下來我們再寫一個函數加載該dll測試一下。
新建"測試程序.cpp",並寫下如下代碼加載DLL:

#include <iostream>
#include<Windows.h>
using namespace std;
void main()
{
    typedef void(*FUNA)(void);					//這裏對應導出函數的類型與參數。
    HMODULE hmodule = LoadLibrary("testdll");  //需要加載的DLL名稱。
    if (hmodule)
    {
        FUNA dll_Func = (FUNA)GetProcAddress(hmodule, TEXT("Func")); //這裏寫導出函數名。
        if (dll_Func != NULL)
		{
			cout<<"dll加載成功。"<<endl;
			dll_Func();
		}
        else
            cout<<"無法找到DLL"<<endl;
        FreeLibrary(hmodule);			//這裏釋放DLL。
    }
    else
        cout<<"加載失敗!"<<endl;
	system("pause");
}
//測試程序.cpp(這裏爲了方便我就直接用VC++6.0編譯了)

9.編譯鏈接好後,將測試程序與dll放到一起,並測試。

Fin

Fin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章