首先 先介紹如何開啟dll檔
範例如下
typedef HDC (*GETDC_PROTO)(HWND); GETDC_PROTO _GetDC_ = (GETDC_PROTO)GetProcAddress(hMod,"GetDC"); // 以上載入GetDC副程式 載入成功後以下便可以使用 HDC dc = _GetDC_(NULL); |
我們可以判斷 hMod 的值 如果不為NULL 則代表成功開啟
開啟之後 我們便可以載入程式了 本次示範載入GetDC()
要取得一個副函式 只需要將那個副函式的module跟名稱傳進GetProcAddress()即可
在取得之前 我們要先宣告一個函式指標 這個函式指標的宣告要跟所要取得的函式一樣
我們可以先用typedef 來定義好指標型態 之後指標轉型便可以重複利用他
取得指標之後 便可以像使用副程式一樣使用他
不用之後 可以將dll檔釋放掉
AfxFreeLibrary(hMod); |
釋放掉之後 用GetProcAddress()所得到的指標便不能使用了
如果使用的話 便可能造成程式當掉
來源:swwuyam在天空部落發表於22:54:25
沒有留言:
張貼留言