LoadLibrary函數(shù)是Windows操作系統(tǒng)中的一個(gè)函數(shù),用于在運(yùn)行時(shí)加載動(dòng)態(tài)鏈接庫(kù)(DLL)。它的函數(shù)原型如下:
HMODULE LoadLibrary( LPCWSTR lpFileName );
參數(shù)lpFileName指定了要加載的DLL庫(kù)的文件名,可以是一個(gè)絕對(duì)路徑,也可以是一個(gè)相對(duì)路徑。返回值是一個(gè)模塊句柄(HMODULE),用于后續(xù)對(duì)該庫(kù)的操作。
以下是一個(gè)簡(jiǎn)單的示例代碼,展示了如何使用LoadLibrary函數(shù)加載并運(yùn)行一個(gè)DLL庫(kù):
#include <windows.h>
int main()
{
HMODULE hDll = LoadLibrary(L"mydll.dll");
if (hDll != NULL)
{
// DLL加載成功,繼續(xù)執(zhí)行其他操作
// ...
// 卸載DLL
FreeLibrary(hDll);
}
else
{
// DLL加載失敗,處理錯(cuò)誤
}
return 0;
}
在這個(gè)示例中,首先調(diào)用LoadLibrary函數(shù)加載名為"mydll.dll"的DLL庫(kù)。如果加載成功,LoadLibrary函數(shù)將返回一個(gè)非空的模塊句柄。然后可以通過(guò)這個(gè)模塊句柄,使用GetProcAddress函數(shù)獲取DLL中導(dǎo)出函數(shù)的地址,并調(diào)用這些函數(shù)。
最后,通過(guò)調(diào)用FreeLibrary函數(shù)卸載DLL庫(kù)。
需要注意的是,使用LoadLibrary函數(shù)加載DLL庫(kù)時(shí),需要確保DLL庫(kù)文件在可執(zhí)行文件的搜索路徑中,或者指定正確的路徑。否則,LoadLibrary函數(shù)將返回NULL,表示加載失敗。
此外,使用LoadLibrary函數(shù)加載的DLL庫(kù),在程序結(jié)束前需要調(diào)用FreeLibrary函數(shù)進(jìn)行卸載,以釋放相關(guān)資源。