如何在运行时检查Win API函数的支持?

3

如何在运行时检查运行时是否支持函数GetSystemTimePreciseAsFileTime

1个回答

5
使用著名的GetProcAddress函数来查找函数是否存在,示例如下:
typedef void (WINAPI *FuncT) (LPFILETIME lpSystemTimeAsFileTime);

HINSTANCE hDLL = LoadLibrary(L"Kernel32.dll");
FuncT GetSystemTimePreciseAsFileTime = (FuncT) GetProcAddress((HMODULE)hDLL, L"GetSystemTimePreciseAsFileTime");

if (GetSystemTimePreciseAsFileTime)
{
   // function is exposed by the DLL, now it can be called
   GetSystemTimePreciseAsFileTime(...);
}

我不得不将WINAPI调用签名(WINAPI * FuncT)移动到括号内,以使VS12满意。 - Lallen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接