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

Win32 API MessageBox内容模糊不清的原因咨询

消息框内容文字模糊的原因分析

你的代码:

int code = MessageBox(0, L"Notation", L"Alarm", MB_OKCANCEL);

出现内容"Notation"模糊、标题"Alarm"清晰的核心原因是DPI缩放适配问题:

  • 消息框的标题栏属于系统非客户区,由Windows窗口管理器负责渲染,会自动适配当前显示器的DPI缩放比例,所以文字显示清晰。
  • 消息框的内容属于程序客户区,默认情况下,未声明DPI感知的Win32程序会被系统按96DPI(默认基础DPI)的尺寸进行拉伸缩放,拉伸后的文字自然会出现模糊。

如果要解决这个问题,可以通过以下方式开启程序的DPI感知:

  • 在程序的manifest文件中添加DPI感知配置,例如:
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
      <windowsSettings>
        <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
      </windowsSettings>
    </application>
    
  • 或者在程序启动时调用SetProcessDpiAwarenessContext等API手动设置DPI感知模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:58:11