You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Windows Defender API的WDStatus函数遇LNK1120错误求助

解决WDStatus函数编译LNK1120未解析外部符号问题

你遇到的LNK1120错误确实是因为编译器无法找到WDStatus函数的实现——该函数属于MpClient.dll,需要显式链接对应的导入库MpClient.lib。以下是两种解决方法:

方法1:通过Visual Studio项目设置链接库

  • 右键你的项目,选择属性
  • 依次展开配置属性 → 链接器 → 输入
  • 在附加依赖项中添加 MpClient.lib,点击确定保存设置

方法2:在代码中直接指定链接库

在你的代码开头(包含头文件之后)添加一行编译指令,让编译器自动链接MpClient.lib:

#include <windowsdefender.h>
#pragma comment(lib, "MpClient.lib")

// 你的原有代码
HRESULT result;
BOOL defStatus;

result = WDStatus(&defStatus);

if (result==S_OK)
{
    if (defStatus)
        puts("Defender Antivirus is enabled.");
    else
        puts("Defender Antivirus is not enabled.");

}
else
{
    puts("Failed to get the result.");
}

额外注意事项

  • 确保你的项目平台(x64/x86)与系统一致,MpClient.dll在64位系统中仅提供64位版本,32位程序无法调用
  • WDStatus函数仅支持Windows 10及以上版本的系统
  • 运行程序时不需要额外携带MpClient.dll,该文件是系统自带的,位于C:\Windows\System32目录下

内容的提问来源于stack exchange,提问作者Sergio Calderon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:27:32