[問題] 新手制作dll - 如何使用系統中dll?

看板C_and_CPP作者 (孤伶刀 八荒無盡)時間10年前 (2014/01/06 12:01), 編輯推噓1(109)
留言10則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ (使用VS2010) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我現在要制作一個dll,但它會使用到其它dll的功能(隨便舉例 abc.dll), 而且它已存在系統目錄中: C:\Windows\System32\adc.dll 目前我在制作時,是把這個檔案copy到我專案的目錄底下 經由LoadLibrary 和 GetProcAddress 來使用 HMODULE hInst = LoadLibrary(TEXT("abc.dll")); 想請問如何直接使用系統目錄底下的檔案? 是要在專案Properties中作設定,還是改變code的寫法? 很笨的新手問題,請指教,感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.130.62

01/06 12:25, , 1F
系統中的DLL大多會有對應的Header
01/06 12:25, 1F

01/06 13:34, , 2F
請問你是指 abc.h 這個檔案嗎? 我找windows目錄裡並沒
01/06 13:34, 2F

01/06 13:34, , 3F
有這個檔案,但在網路上有找到,也可以使用
01/06 13:34, 3F

01/06 13:35, , 4F
問題在於不知如何直接使用 system32底下的dll檔
01/06 13:35, 4F

01/06 14:48, , 5F
以 MessageBoxA(...) 函數為例,你需要在程式碼中,提供其
01/06 14:48, 5F

01/06 14:49, , 6F
原型宣告,從MSDN可查到該宣告只要#include <windows.h>
01/06 14:49, 6F

01/06 14:50, , 7F
然後還要提供 user32.lib 檔案給編譯器,VC 的專案設定裡
01/06 14:50, 7F

01/06 14:51, , 8F
或者程式碼加入 #pragma comment(lib, "user32") 亦可
01/06 14:51, 8F

01/06 15:54, , 9F
感謝p大~加#pragma的方式已可使用,改專案設定的方式
01/06 15:54, 9F

01/06 15:55, , 10F
我再試試看~ 感謝~~
01/06 15:55, 10F
文章代碼(AID): #1IoYf_4W (C_and_CPP)