如何通过其地址调用dll中的函数

时间:2015-04-02 11:43:58

标签: c++ dll

我需要通过地址调用dll中的函数。有可能吗?

这是dll中的函数:

HMODULE handle
void sethandle(HMODULE a)
{
handle=a;
}

1 个答案:

答案 0 :(得分:0)

您应该使用GetModuleHandleGetProcAddress函数,代码如下:

LPCWSTR lpszModule = L"kernel32.dll"; // here should be your dll file path name.
HMODULE hModule = GetModuleHandleW(lpszModule);
if (hModule)
{
    typedef void(*fn)(HMODULE);
    fn pF = (fn)GetProcAddress(hModule, "sethandle");
    // use it, like this: pF(a)
}