C++ - 测试是否存在 DLL 以有条件地运行某些函数

C++ - Test if a DLL exists to conditional run certain functions

本文关键字:运行 函数 有条件 测试 是否 存在 DLL C++      更新时间:2023-10-16

我有一个应用程序,我想分发给两组客户:1) 从第三方库中调用函数的完整版本,以及2) 禁用这些调用的有限版本。

我想避免使用单独的构建,而只是将可执行文件分发给所有人,并且仅为支付第三方库中额外功能的客户包含 DLL。

但是,当我使用包含的库进行构建时,如果找不到 DLL,应用程序将不会运行。

是否可以在调用 DLLMAIN 之前测试运行时是否存在 DLL?

您可以通过以下方式进行检查

LPCWSTR dllName = helper::developer::getDllPath();
HINSTANCE dynamicLib = LoadLibraryW(dllName);
if (dynamicLib)
{
}