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

如何禁用return操作中出现的白线

问题

请问有什么方法可以禁用该白线吗?
它的显示效果如下图所示:
白线效果截图


回答

这个1px白线是Windows系统DWM(桌面窗口管理器)自动为窗口绘制的默认边框,在自定义无边框窗口、软件渲染异常时都可能出现,按你对应的场景选处理方法就行:

  • 原生Win32/C++开发:直接调用DwmSetWindowAttribute接口,把DWMWA_BORDER_COLOR属性设为完全透明的0x00000000就能把这条线隐掉,核心代码如下:
// 放在窗口初始化完成后调用
const COLORREF transparentBorder = 0x00000000;
DwmSetWindowAttribute(
    hWnd,
    DWMWA_BORDER_COLOR,
    &transparentBorder,
    sizeof(transparentBorder)
);

如果设置完还有残留,额外处理WM_NCCALCSIZE消息把客户区铺满整个窗口,移除系统默认的非客户区内边距即可。

  • WPF开发:先确认窗口设置了WindowStyle="None"、AllowsTransparency="True",如果还出现白线,要么直接通过nuget安装WindowChrome相关的封装包一键处理无边框样式,要么在窗口Loaded事件里调用上面提到的Win32 DWM接口改边框颜色。
  • Electron/CEF等桌面端Web技术开发:创建BrowserWindow的时候把配置项补全:frame: false、transparent: true、thickFrame: false,重启窗口白线就会消失。
  • 如果是用现成软件(比如终端、VS Code、第三方桌面工具)的时候出现这条线:先去软件设置里关掉硬件加速,切换回默认主题重启,大部分渲染异常导致的白线都能解决;如果是系统强制给窗口加的边框,目前没有全局开关可以关,只能等软件方适配DWM接口做隐藏。

补充:Windows 11 22H2及之后的版本强制给所有无边框窗口加了1px的激活态高亮边,不要尝试用全局修改主题的方式去关,很容易导致系统UI崩溃,针对单个窗口调用DWM接口改色是最稳定的方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:09:18