Hunter的大杂烩 技术学习笔记

2026-09-28

AI太有用了

Filed under: 技术话题 — hunter @ 2:30 am

困扰多时的,每次画图软件、Photo软件修改后无法保存(一打开保存对话框,软件就崩溃)的问题,终于在AI 10分钟的帮助下解决。。。之前尝试无数种不同解决方法都无法解决的顽固症状、面对10M日志分析的头昏眼花,给AI分析,秒解决,人真的要退伍了,以下是AI的推荐步骤:

  1. Process Monitor (ProcMon) —— 微软官方 Sysinternals 工具(最强定位工具)
  • 打开 Procmon.exe,按 Ctrl + L 添加过滤条件:
    • Process Name is mspaint.exe then Include
  • 点击开始捕获,然后回到画图点击“另存为”。
  • 崩溃发生后立即停止捕获(按 Ctrl + E),观察列表最后几十行。
  • 查看是否有针对 HKCU\Software\Classes\CLSID\... 或 NameSpace 的状态为 ACCESS DENIED(被改了权限导致崩溃)或 NAME NOT FOUND 后紧接着进程退出的记录,能秒级定位具体是哪个键受损。

2. 把崩溃时间点附近的时间保存为csv文件格式;

3. 把10M日志文件喂给AI,然后问“这个是mspaint.exe崩溃前procmon记录的信息,跟崩溃有关系吗?”

4. AI给出solution:

这份 ProcMon 日志与崩溃直接相关,它精准指出了导致画图闪退的元凶。

问题并不是系统文件或画图本身,也不是之前怀疑的 OneDrive,而是海康私有网盘(HikBox Client / 海康智存)的图标角标覆盖扩展(Icon Overlay Shell Extension)。

日志中的关键证据分析

  1. 强行在画图内部加载整个 .NET 运行库:
    • Modern 版本的 Windows 11 画图(mspaint.exe)是一个原生的 WinUI 3 / AppContainer 打包应用。
    • 但日志记录到,画图在准备渲染文件保存对话框时,突然开始读取并加载系统级的 .NET CLR 运行时(mscoree.dll、clr.dll、mscorlib.ni.dll、System.Data.SQLite.dll 等)。
  2. 定位到罪魁祸首扩展:
    • 日志中的注册表项明确显示,注册表路径 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 下被注册了以空格开头的条目:
      • AOverHanderSyn1 对应 CLSID {88D8036A-81DC-3287-9E44-5F73FCBAEF73}
      • AOverHanderSyn2 对应 CLSID {9FFE1F6B-8407-3206-845F-7D75A424BE02}
      • AOverHanderSyn3 对应 CLSID {48B9E55B-D7AC-3647-AE7A-26B87CC8BCA5}
    • 这三个组件全部指向 D:\Program Files\HikBox Client\resources\Windows\HikBoxSignTool.dll(使用第三方开源库 SharpShell 开发的 .NET 外壳角标扩展)。
  3. 崩溃触发机制:
    • 软件开发者在前缀加了大量空格,目的是强行抢占 Windows 最多只支持 15 个图标角标的优先级。
    • 当画图弹出“另存为”对话框时,文件选择窗口枚举图标角标,触发了 HikBoxSignTool.dll。但在受限沙箱/特定线程模型下初始化 .NET CLR 及 SQLite 资源时,底层触发了栈保护机制(即报错的 0xc0000409 快速故障中断),紧接着进程直接拉起了 WerFault.exe(Windows 错误报告)。

彻底解决办法

无需重装系统,直接清除这三个由海康网盘强行插入的角标注册表项即可:

方案一:使用命令行删除(推荐,最快)

以管理员身份打开 PowerShell 或终端,依次执行以下命令:

PowerShell

# 删除海康网盘注册的3个图标角标扩展
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\       AOverHanderSyn1" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\       AOverHanderSyn2" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\       AOverHanderSyn3" /f

# 重启资源管理器使设置生效
Stop-Process -Name explorer -Force

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress