前言
此篇文章紀錄如何在 C++ 中,使用 LoadLibraryA/LoadLibraryW 調用 dll。
環境
- Windows 10
- Visual Studio 2017
準備一個 DLL
先自己寫一個 dll,詳細步驟說明請參考:[DLL] 使用 VS 2017 寫包含 DllMain 的 dll。
創建專案
開啟 VS 2017,新開一個專案 File → New → Project 或組合鍵 Ctrl + Shift + N,點擊 Visual C++ 之下的 Windows Desktop,選擇 Windows Desktop Wizard,在 Name 輸入好專案名稱後,按 OK 進到下個步驟


Application type 選 Console Application(.exe),Addtional options 都不用勾!按下 OK 就會建立好一個專案,預設會自動開啟專案中的 {project_name}.cpp

編寫程式
將下面的程式碼貼到 {project_name}.cpp 中,(參考原始碼:GitHub)
1 |
|
將要匯入的 dll 放到 Debug 目錄下,否則 LoadLibraryA 需要給 dll 的絕對路徑,因為 Debug 模式編譯出來的執行檔都存在此處。
完成
按下 F5,開始 Debug 模式,看到彈出視窗 (MessageBoxA/MessageBoxW),就代表載入成功了!顯示順序應為
- 程序建立時被呼叫
- 此函式呼叫成功
- 程序退出時被呼叫