<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
  <title type="text">KomuraSoft LLC 博客</title>
  <subtitle type="text">KomuraSoft LLC 的 Windows / C# / COM 工程笔记。</subtitle>
  <id>https://comcomponent.com/zh-CN/feed.xml</id>
  <link rel="alternate" type="text/html" hreflang="zh-Hans" href="https://comcomponent.com/zh-CN/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ja" href="https://comcomponent.com/blog/"/>
  <link rel="alternate" type="text/html" hreflang="en" href="https://comcomponent.com/en/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ko" href="https://comcomponent.com/ko/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hant" href="https://comcomponent.com/zh-TW/blog/"/>
  <link rel="self" type="application/atom+xml" href="https://comcomponent.com/zh-CN/feed.xml"/>
  <updated>2026-09-09T00:00:00+00:00</updated>
  <rights>© 2026 小村软件有限公司</rights>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <author>
    <name>小村 豪</name>
    <uri>https://comcomponent.com/zh-CN/profile/go-komura/</uri>
  </author>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">为什么“剩余1秒”迟迟不结束？── 进度条与剩余时间的工作原理</title>
    <id>https://comcomponent.com/zh-CN/blog/progress-bar-remaining-time/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/progress-bar-remaining-time/"/>
    <published>2026-09-08T20:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">剩余1秒持续很久、卡在99%、一直显示准备中，分别是怎么回事？从进度的分母、速度预测、最后的处理步骤和界面更新逐一解释，并提供同一任务不同进度显示的交互演示。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="进度条"/>
    
    <category term="剩余时间"/>
    
    <category term="UI"/>
    
    <category term="性能"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 共享文件夹为什么时好时坏——排查 Kerberos、NTLM 与凭据问题</title>
    <id>https://comcomponent.com/zh-CN/blog/smb-share-access-troubleshooting/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/smb-share-access-troubleshooting/"/>
    <published>2026-09-08T09:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">通过症状和日志排查 Windows 共享文件夹时而能访问、时而无法访问的问题。说明 IP 与名称的差异、仅应用失败、空密码、1219、重启及 SMB 签名的检查步骤，以及每项结果能证明什么。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="SMB"/>
    
    <category term="Kerberos"/>
    
    <category term="NTLM"/>
    
    <category term="共享文件夹"/>
    
    <category term="故障排查"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">磁盘使用率 100% 要停掉什么才能好？──分辨 SysMain、Windows Search 与 Defender</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-disk-100-safe-diagnosis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-disk-100-safe-diagnosis/"/>
    <published>2026-09-05T04:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">从处理量、响应时间和文件三个角度厘清 Windows 磁盘使用率 100% 的原因。图解 SysMain 的临时停止与恢复、Windows Search 搜索范围的调整，以及不停用 Defender 的调查方法。</summary>
    
    
    
    <category term="Windows 11"/>
    
    <category term="性能"/>
    
    <category term="故障排查"/>
    
    <category term="SysMain"/>
    
    <category term="Windows Search"/>
    
    <category term="Microsoft Defender"/>
    
    <category term="PowerShell"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">同样是 1GB，为什么复制照片文件夹比复制一部视频还慢？</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-small-files-copy-slow/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-small-files-copy-slow/"/>
    <published>2026-09-05T00:00:00+00:00</published>
    <updated>2026-10-18T00:00:00+00:00</updated>
    
    <summary type="text">图解 Windows 中容量相同、复制耗时却不同的原因。梳理文件数量、SSD 与 NAS 的等待时间、打包成 ZIP 的效果、把创建·传输·解压都算进去的对比步骤，以及 robocopy 的适用场景。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 11"/>
    
    <category term="文件复制"/>
    
    <category term="性能"/>
    
    <category term="SSD"/>
    
    <category term="NAS"/>
    
    <category term="ZIP"/>
    
    <category term="robocopy"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 的“硬件加速 GPU 计划”是什么？打开就会变快吗？</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-hardware-accelerated-gpu-scheduling/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-hardware-accelerated-gpu-scheduling/"/>
    <published>2026-09-04T15:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">面向普通用户图解 Windows 的硬件加速 GPU 计划（HAGS）：它改变了什么、开与关如何判断、设置项不显示的原因、与帧生成的关系，以及安全的对比步骤。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 11"/>
    
    <category term="GPU"/>
    
    <category term="性能"/>
    
    <category term="Windows 设置"/>
    
    <category term="HAGS"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 名称解析的顺序 ── hosts、DNS 缓存、LLMNR/mDNS 与 DoH</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-name-resolution-order-hosts-dns-cache-llmnr-mdns-doh/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-name-resolution-order-hosts-dns-cache-llmnr-mdns-doh/"/>
    <published>2026-09-04T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">「解析不了名称」「只有部分电脑连不上」，结果取决于是 hosts、DNS 缓存、DNS 服务器还是 LLMNR/mDNS 给出的答案。本文从机制上梳理 Windows 名称解析的顺序与 DoH 改变了什么，并讲解按层排查的步骤。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DNS"/>
    
    <category term="名称解析"/>
    
    <category term="网络"/>
    
    <category term="故障排查"/>
    
    <category term="PowerShell"/>
    
    <category term="TCP/IP"/>
    
    <category term="IT 部门"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">关掉内存完整性(HVCI)会变快吗 ── 含义、步骤与判断</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-memory-integrity-hvci-off-performance/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-memory-integrity-hvci-off-performance/"/>
    <published>2026-09-04T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">Windows 安全中心「内核隔离」里的内存完整性(HVCI)到底在做什么，关掉它真的会变快吗。本文面向入门读者，梳理可能变快的条件与不会变的条件、关闭的步骤与恢复方法、如何确认真的关掉了，以及什么情况下可以关。</summary>
    
    
    
    <category term="Windows 11"/>
    
    <category term="内存完整性"/>
    
    <category term="HVCI"/>
    
    <category term="内核隔离"/>
    
    <category term="VBS"/>
    
    <category term="性能"/>
    
    <category term="安全"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">快速启动的真面目 ── Windows 的「关机」为什么和重启不一样</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-fast-startup-hybrid-shutdown-explained/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-fast-startup-hybrid-shutdown-explained/"/>
    <published>2026-09-04T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">Windows 的「关机」默认会变成混合关机，内核与驱动程序被保存到休眠文件，并在下次启动时还原。本文讲解为什么有些问题只有重启才能解决、对运行时间・更新・Wake on LAN 的影响、确认方法以及是否停用的判断。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="快速启动"/>
    
    <category term="关机"/>
    
    <category term="电源管理"/>
    
    <category term="IT 部门"/>
    
    <category term="设备用 PC"/>
    
    <category term="PowerShell"/>
    
    <category term="Windows 开发"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Time Travel Debugging ── 把长期运行中不复现的缺陷“录下来”再倒回去</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-time-travel-debugging-ttd/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-time-travel-debugging-ttd/"/>
    <published>2026-09-02T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">一个月才出一次的缺陷，崩溃转储只拍得到结果。本文讲解如何用 WinDbg 的 Time Travel Debugging(TTD) 录制执行并倒回，涵盖 TTD.exe 的录制设计、环形缓冲区、TTD.Calls 查询，以及与转储的分工。</summary>
    
    
    
    <category term="WinDbg"/>
    
    <category term="Time Travel Debugging"/>
    
    <category term="调试"/>
    
    <category term="缺陷调查"/>
    
    <category term="Windows"/>
    
    <category term="Windows 开发"/>
    
    <category term=".NET"/>
    
    <category term="C++"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">参数为什么会坏掉 ── Windows 命令行参数的规则</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-command-line-argument-rules/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-command-line-argument-rules/"/>
    <published>2026-09-02T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">在 Windows 上并不存在参数的数组，传给 CreateProcess 的是一条字符串，切分由接收方完成。本文讲解 CommandLineToArgvW・CRT・.NET 的切分规则，以及 .NET 的 ArgumentList 与 C++ 中正确的组装方法。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 开发"/>
    
    <category term="C#"/>
    
    <category term="C++"/>
    
    <category term="Win32 API"/>
    
    <category term=".NET"/>
    
    <category term="进程"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 应用的深色模式与对比度主题支持 ── DWM 的深色标题栏、WinForms/WPF 跟随系统主题、高对比度下的绘制</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-app-dark-mode-contrast-theme-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-app-dark-mode-contrast-theme-guide/"/>
    <published>2026-09-02T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">讲解如何让 WinForms/WPF 应用跟随 Windows 11 的深色模式与对比度主题。梳理 DWM 的深色标题栏、.NET 9/10 的 SetColorMode 与 ThemeMode、主题切换的检测，以及高对比度下用系统颜色绘制的做法。</summary>
    
    
    
    <category term="深色模式"/>
    
    <category term="对比度主题"/>
    
    <category term="高对比度"/>
    
    <category term="DWM"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Windows 11"/>
    
    <category term="无障碍"/>
    
    <category term="业务应用"/>
    
    <category term="Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 打印驱动程序停止提供 ── 业务应用的报表与标签打印如何应对</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-print-driver-end-of-servicing-business-apps/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-print-driver-end-of-servicing-business-apps/"/>
    <published>2026-09-01T01:00:00+00:00</published>
    <updated>2026-09-08T00:00:00+00:00</updated>
    
    <summary type="text">Microsoft 正在分阶段推进 v3/v4 打印驱动程序的停止提供，从 2026 年 7 月起会优先选择 IPP 类驱动程序。本文梳理 Windows protected print mode 下会消失什么，并用判断表整理业务应用程序的报表、标签打印中依赖点的盘点方法与应对方式。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 开发"/>
    
    <category term="Windows 11"/>
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="打印"/>
    
    <category term="报表"/>
    
    <category term="打印驱动程序"/>
    
    <category term="IPP"/>
    
    <category term="运维"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">WinRT 就是 COM —— IInspectable、.winmd、语言投影，以及 WinUI 至今仍立在二进制契约之上的原因</title>
    <id>https://comcomponent.com/zh-CN/blog/winrt-is-com/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/winrt-is-com/"/>
    <published>2026-08-29T01:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">WinRT 不是托管运行时，而是在 COM 之上加了元数据（.winmd）与语言投影的 ABI。本文从 IUnknown 与 IInspectable 的关系，一直讲到桌面应用里 HWND 初始化与 package identity 的卡点。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="WinRT"/>
    
    <category term="COM"/>
    
    <category term="WinUI"/>
    
    <category term="Windows App SDK"/>
    
    <category term="Windows 开发"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">父进程消失之后还剩下什么 —— 用 Job Object 圈养子进程</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-job-object-child-process-lifetime/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-job-object-child-process-lifetime/"/>
    <published>2026-08-29T01:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">为什么强制结束 UI 之后，SDK 的辅助进程仍然残留，一直占着摄像头或 COM 端口？本文从测量应用的视角，讲解如何用 Job Object 把进程树变成一个单位，并借助 KillOnJobClose 与完成端口来设计子进程的寿命。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 开发"/>
    
    <category term="C#"/>
    
    <category term="C++"/>
    
    <category term="Win32 API"/>
    
    <category term="测量控制"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">什么是 OLE 对象 —— 嵌入与链接的机制以及业务文档中的陷阱</title>
    <id>https://comcomponent.com/zh-CN/blog/what-is-ole-object/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/what-is-ole-object/"/>
    <published>2026-08-28T01:10:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">在 Word 中嵌入 Excel 表格的功能，本质就是 OLE 对象。本文从嵌入与链接的区别、复合文件与结构化存储、In-Place Activation 的机制，一直讲到链接断开、文件膨胀与安全对策，全部立足于实务视角。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="OLE"/>
    
    <category term="COM"/>
    
    <category term="Office"/>
    
    <category term="Access"/>
    
    <category term="Windows 开发"/>
    
    <category term="遗留资产"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">「同一台 PC」并不是同一个运行环境 ── 隔开 AppData、HKCU、DPAPI 与凭据的用户边界</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-user-boundary-appdata-hkcu-dpapi/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-user-boundary-appdata-hkcu-dpapi/"/>
    <published>2026-08-28T01:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">在手边跑得好好的应用，一改成计划任务或服务就坏掉，这是为什么。本文从机制上讲清隔开 AppData、HKCU、DPAPI、浏览器配置文件与凭据的 Windows 用户边界。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DPAPI"/>
    
    <category term="注册表"/>
    
    <category term="AppData"/>
    
    <category term="凭据"/>
    
    <category term="任务计划程序"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">用 DSC 对 Windows 做声明式配置管理 —— 从 dsc.exe 开始的 IaC</title>
    <id>https://comcomponent.com/zh-CN/blog/dsc-windows-declarative-iac/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/dsc-windows-declarative-iac/"/>
    <published>2026-08-28T00:00:00+00:00</published>
    <updated>2026-09-09T00:00:00+00:00</updated>
    
    <summary type="text">还在依赖“再跑一遍就会坏”的步骤脚本吗？本文讲解把 Windows 配置写成 YAML 并幂等应用的 DSC v3(dsc.exe)：从梳理四代 DSC，到编写配置文档，再到漂移检测的日常运维。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DSC"/>
    
    <category term="IaC"/>
    
    <category term="PowerShell"/>
    
    <category term="winget"/>
    
    <category term="配置管理"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 虚拟化的深层(第3回) ── 数秒即可启动的虚拟机：WSL2、Windows Sandbox 与容器为何这么轻</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-wsl2-sandbox-containers/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-wsl2-sandbox-containers/"/>
    <published>2026-08-22T04:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">WSL2 和 Windows Sandbox 为什么几秒就能启动、还这么轻？本文从动态基础映像、直接映射、内存的动态分配一直讲到 Hyper-V 隔离容器，逐层拆解其机制。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="虚拟化"/>
    
    <category term="WSL2"/>
    
    <category term="Windows Sandbox"/>
    
    <category term="容器"/>
    
    <category term="Hyper-V"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 虚拟化的深层（第 2 回）── 连内核也读不到的内存：VBS、HVCI 与 Credential Guard 的机制</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-vbs-hvci-credential-guard/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-vbs-hvci-credential-guard/"/>
    <published>2026-08-22T03:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">在兼容硬件上全新安装时默认启用的 VBS，用虚拟机监控程序与 SLAT 造出比内核更强的隔离。本文讲解 VTL、安全内核、HVCI 与 Credential Guard 的结构。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="虚拟化"/>
    
    <category term="安全性"/>
    
    <category term="VBS"/>
    
    <category term="HVCI"/>
    
    <category term="Credential Guard"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 虚拟化的深层（第 1 回）── 你的 Windows 究竟运行在哪里：虚拟机监控程序与分区</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-hypervisor/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-virtualization-internals-hypervisor/"/>
    <published>2026-08-22T02:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">启用 Hyper-V 之后，主机 Windows 自身会作为根分区运行在虚拟机监控程序之上。本文从 VT-x、SLAT、VMBus 的职责讲起，说清虚拟化的底层基础。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="虚拟化"/>
    
    <category term="Hyper-V"/>
    
    <category term="虚拟机监控程序"/>
    
    <category term="SLAT"/>
    
    <category term="VMBus"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Win32 线程池 API ── 用 CreateThreadpoolWork 实现「不自建线程」的并发</title>
    <id>https://comcomponent.com/zh-CN/blog/win32-thread-pool-api/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/win32-thread-pool-api/"/>
    <published>2026-08-22T01:40:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">原生代码里是不是到处都在 CreateThread？本文依据一手资料讲解 Vista 全面重新设计的 Win32 线程池 API：work、timer、wait、io 四种对象，清理组，以及回调中禁止做的事。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="多线程"/>
    
    <category term="C++"/>
    
    <category term="Windows 开发"/>
    
    <category term="Win32 API"/>
    
    <category term="性能改善"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">命名管道实务 ── 从设计到安全，吃透 Windows 进程间通信的标准方案</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-named-pipes-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-named-pipes-practical-guide/"/>
    <published>2026-08-22T01:30:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">以实务视角讲解 Windows 进程间通信的标准方案——命名管道。依据一手资料梳理字节模式与消息模式的取舍、同时接纳多个客户端的服务器结构、ACL 与模拟的安全设计，以及 .NET 的命名管道流。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="进程间通信"/>
    
    <category term="Windows 开发"/>
    
    <category term="C#"/>
    
    <category term="C++"/>
    
    <category term="安全"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">睡眠恢复后就出故障的应用——电源事件机制与扛得住恢复的业务应用设计</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-sleep-resume-power-events/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-sleep-resume-power-events/"/>
    <published>2026-08-22T01:20:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">打开笔记本电脑时业务应用的通信已经断开——原因是设计没有考虑睡眠。本文依据一手资料讲解 WM_POWERBROADCAST 的通知流程、Modern Standby 的行为、断开与重连的设计、睡眠抑制以及调查命令。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="电源管理"/>
    
    <category term="Windows 开发"/>
    
    <category term="业务应用"/>
    
    <category term="设备控制"/>
    
    <category term="故障排查"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">DllMain 与加载器锁——“DLL 初始化里什么都别做”的真正原因</title>
    <id>https://comcomponent.com/zh-CN/blog/dllmain-loader-lock/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/dllmain-loader-lock/"/>
    <published>2026-08-22T01:10:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">为什么不能在 DllMain 里调用 LoadLibrary 或与线程同步。本文依据一手资料，从串行化全部 DLL 通知的加载器锁机制，讲到死锁成立的典型场景、延迟初始化等正确设计，以及挂起的调查步骤。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DLL"/>
    
    <category term="Windows 开发"/>
    
    <category term="C++"/>
    
    <category term="故障排查"/>
    
    <category term="多线程"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">“无响应”的真相——Windows 如何判定应用卡死，以及不会卡死的设计</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-app-not-responding-hang-mechanism/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-app-not-responding-hang-mechanism/"/>
    <published>2026-08-22T01:00:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">Windows 的“无响应”是操作系统在窗口 5 秒未取出消息时作出判定、并换成幽灵窗口的机制。本文讲解判定的内部动作、卡死的常见原因、把繁重处理移出 UI 线程的设计，以及挂起的调查步骤。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows 开发"/>
    
    <category term="故障排查"/>
    
    <category term="多线程"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Win32 API"/>
    
    <category term="UI 设计"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">虚假唤醒——条件变量为什么会“没有通知也醒来”，以及 Windows 上正确的等待写法</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-condition-variable-spurious-wakeup/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-condition-variable-spurious-wakeup/"/>
    <published>2026-08-22T00:00:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">条件变量的 wait 即使没有收到通知也可能返回（虚假唤醒）。本文从 Windows 的实现出发说明规范为何允许这一点，并用 Win32、C++ 和 C# 的代码给出以 while 循环和谓词编写的正确等待写法。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="多线程"/>
    
    <category term="条件变量"/>
    
    <category term="同步"/>
    
    <category term="C++"/>
    
    <category term="C#"/>
    
    <category term="Win32 API"/>
    
    <category term="故障排查"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">剪贴板与拖放的工作原理——在业务应用中正确处理 OLE 数据传输</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-clipboard-drag-drop-ole-data-transfer/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-clipboard-drag-drop-ole-data-transfer/"/>
    <published>2026-08-21T00:10:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">粘贴 Excel 表格会散架、关掉复制源就贴不上，根源都是剪贴板把同一内容放成多种格式的机制。本文讲解标准格式、延迟渲染、OLE 拖放，直到剪贴板历史与云同步的策略。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="剪贴板"/>
    
    <category term="拖放"/>
    
    <category term="OLE"/>
    
    <category term="COM"/>
    
    <category term="Windows 开发"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">WPR/WPA 实战——从系统整体排查“整台 PC 变慢”的性能调查入门</title>
    <id>https://comcomponent.com/zh-CN/blog/wpr-wpa-system-performance-analysis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/wpr-wpa-system-performance-analysis/"/>
    <published>2026-08-21T00:05:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">“整台 PC 变慢”“开机很慢”这类任务管理器追不到的性能问题，可以用采集并阅读整个 OS 的 ETW 跟踪的 WPR/WPA 来排查。本文从 wpr.exe 的采集步骤，一直讲到在 WPA 中怎么读 CPU、等待时间和磁盘 I/O。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="性能"/>
    
    <category term="WPR"/>
    
    <category term="WPA"/>
    
    <category term="ETW"/>
    
    <category term="性能排查"/>
    
    <category term="故障排查"/>
    
    <category term="Windows 开发"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">从应用角度看 Windows 关机——正确扛过退出通知、重启与断电</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-shutdown-handling-for-apps/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-shutdown-handling-for-apps/"/>
    <published>2026-08-21T00:00:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">Windows Update 的夜间重启弄坏了测量数据——这类问题可以靠设计避免。本文依据一手资料讲解 WM_QUERYENDSESSION 与 PRESHUTDOWN 等退出通知的接收方式、几秒内做完的收尾，以及能扛住断电的保存设计。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="关机"/>
    
    <category term="Windows 开发"/>
    
    <category term="Windows 服务"/>
    
    <category term="设备 PC"/>
    
    <category term="数据完整性"/>
    
    <category term="长时间运行"/>
    
    <category term="UPS"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 应用无障碍入门——为 UI Automation 与合理便利义务化做准备</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-app-accessibility-ui-automation-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-app-accessibility-ui-automation-guide/"/>
    <published>2026-08-20T00:45:00+00:00</published>
    <updated>2026-09-12T00:00:00+00:00</updated>
    
    <summary type="text">以 2024 年 4 月施行的修订版残障者歧视消除法为背景，围绕屏幕阅读器读取 Windows 应用的机制 UI Automation，从实务角度梳理 WinForms/WPF 的命名、键盘操作、对比度与验证工具。</summary>
    
    
    
    <category term="无障碍"/>
    
    <category term="UI Automation"/>
    
    <category term="Windows"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="合理便利"/>
    
    <category term="屏幕阅读器"/>
    
    <category term="消除歧视法"/>
    
    <category term="业务应用"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
</feed>
