部落格
KomuraSoft LLC 針對網站製作、SEO、Google 廣告運用、Windows 開發、既有資產活用與故障調查,分享可在實務中活用的觀點。
全站 AI 搜尋
搜尋關鍵字會傳送至 Cloudflare AI Search 以產生結果,請勿輸入個人資料。
-
為什麼「剩餘1秒」遲遲不結束?── 進度列與剩餘時間的運作原理
剩餘1秒持續很久、停在99%、一直顯示準備中,分別是怎麼回事?從進度的分母、速度預測、最後的處理步驟與畫面更新逐一說明,並提供同一工作不同進度顯示的互動示範。
-
Windows 共用資料夾為何時而能連線、時而失敗——釐清 Kerberos、NTLM 與認證資訊問題
從症狀與記錄釐清 Windows 共用資料夾連線不穩定的原因。說明 IP 與名稱差異、只有應用程式失敗、空白密碼、1219、重新啟動及 SMB 簽章的檢查步驟,以及各項結果能證明什麼。
-
磁碟使用率 100% 要停掉什麼才會好?──分辨 SysMain、Windows Search 與 Defender
從處理量、回應時間與檔案三個角度釐清 Windows 磁碟使用率 100% 的原因。圖解 SysMain 的暫時停止與復原、Windows Search 搜尋範圍的檢視,以及不停用 Defender 的調查方法。
-
同樣是 1GB,為什麼複製照片資料夾比複製一部影片還慢?
圖解 Windows 中容量相同、複製耗時卻不同的原因。整理檔案數量、SSD 與 NAS 的等待時間、打包成 ZIP 的效果、把建立·傳輸·解壓縮都算進去的比較步驟,以及 robocopy 的適用場合。
-
Windows 的「硬體加速 GPU 排程」是什麼?打開就會變快嗎?
以圖解方式向一般使用者說明 Windows 的硬體加速 GPU 排程(HAGS):它改變了什麼、開與關如何判斷、設定項目不出現的原因、與影格生成的關係,以及安全的比較步驟。
-
Windows 名稱解析的順序 ── hosts、DNS 快取、LLMNR/mDNS 與 DoH
「解析不了名稱」「只有部分電腦連不上」,結果取決於回答的是 hosts、DNS 快取、DNS 伺服器還是 LLMNR/mDNS。本文從機制上整理 Windows 名稱解析的順序與 DoH 改變了什麼,並說明逐層釐清的步驟。
-
關掉記憶體完整性(HVCI)會變快嗎 ── 意義、步驟與判斷
Windows 安全性中「核心隔離」裡的記憶體完整性(HVCI)到底在做什麼,關掉它真的會變快嗎。本文面向入門讀者,整理可能變快的條件與不會變的條件、關閉的步驟與復原方法、如何確認真的關掉了,以及什麼情況下可以關。
-
快速啟動的真面目 ── Windows 的「關機」為什麼和重新啟動不一樣
Windows 的「關機」預設會變成混合關機,核心與驅動程式被保存到休眠檔,並在下次開機時還原。本文說明為什麼有些問題只有重新啟動才會好、對運作時間・更新・Wake on LAN 的影響、確認方法以及是否停用的判斷。
-
Time Travel Debugging ── 把長期運轉中無法重現的問題「錄下來」再倒回去
一個月才出現一次的問題,當機傾印只拍得到結果。本文說明如何用 WinDbg 的 Time Travel Debugging(TTD) 錄下執行並倒回,涵蓋 TTD.exe 的錄製設計、環形緩衝區、TTD.Calls 查詢,以及和傾印的分工。
-
引數為什麼會壞掉 ── Windows 命令列引數的規則
在 Windows 上並不存在引數的陣列,傳給 CreateProcess 的是一條字串,分割由接收端負責。本文說明 CommandLineToArgvW・CRT・.NET 的分割規則,以及 .NET 的 ArgumentList 與 C++ 中正確的組裝方式。
-
Windows 應用程式的深色模式與對比佈景主題支援 ── DWM 的深色標題列、WinForms/WPF 跟隨系統佈景主題、高對比時的繪製
說明如何讓 WinForms/WPF 應用程式跟隨 Windows 11 的深色模式與對比佈景主題。整理 DWM 的深色標題列、.NET 9/10 的 SetColorMode 與 ThemeMode、佈景主題切換的偵測,以及高對比時以系統色彩繪製的做法。
-
Windows 列印驅動程式停止提供 ── 業務應用程式的報表與標籤列印如何因應
Microsoft 正分階段推動 v3/v4 列印驅動程式的停止提供,從 2026 年 7 月起會優先選用 IPP 類別驅動程式。本文整理 Windows protected print mode 之下會消失哪些東西,並以判斷表梳理業務應用程式的報表、標籤列印中相依處的盤點與因應方式。
-
WinRT 就是 COM —— IInspectable、.winmd、語言投影,以及 WinUI 至今仍立在二進位契約之上的原因
WinRT 不是受管理的執行階段,而是在 COM 之上加了中繼資料(.winmd)與語言投影的 ABI。本文從 IUnknown 與 IInspectable 的關係,一路談到桌面應用程式裡 HWND 初始化與 package identity 的卡關之處。
-
父處理程序消失之後還剩下什麼 —— 用 Job Object 圈養子處理程序
為什麼強制結束 UI 之後,SDK 的輔助處理程序仍然殘留,一直佔著攝影機或 COM 連接埠?本文從量測應用的角度,說明如何用 Job Object 把處理程序樹變成一個單位,並借助 KillOnJobClose 與完成埠來設計子處理程序的壽命。
-
什麼是 OLE 物件 —— 內嵌與連結的機制以及業務文件中的陷阱
在 Word 中內嵌 Excel 表格的功能,本質就是 OLE 物件。本文從內嵌與連結的差異、複合檔案與結構化儲存體、In-Place Activation 的機制,一路談到連結中斷、檔案膨脹與資安對策,全部立足於實務視角。
-
「同一台 PC」並不是同一個執行環境 ── 隔開 AppData、HKCU、DPAPI 與認證資訊的使用者邊界
在手邊跑得好好的應用程式,一改成排程工作或服務就壞掉,這是為什麼。本文從機制上講清隔開 AppData、HKCU、DPAPI、瀏覽器設定檔與認證資訊的 Windows 使用者邊界。
-
用 DSC 對 Windows 做宣告式組態管理 —— 從 dsc.exe 開始的 IaC
還在依賴「再跑一次就會壞」的步驟腳本嗎?本文說明如何用 YAML 宣告 Windows 組態並冪等套用的 DSC v3(dsc.exe):從釐清四代 DSC,到撰寫組態文件,再到偏移偵測的日常維運。
-
Windows 虛擬化的深層(第 3 回)── 幾秒就啟動的虛擬機器:WSL2、Windows Sandbox 與容器為何這麼輕
WSL2 與 Windows Sandbox 為何幾秒就能啟動、又這麼輕?本文從動態基礎映像、直接對應、記憶體的動態調配,一路講到 Hyper-V 隔離容器的運作方式。
-
Windows 虛擬化的深層(第 2 回)── 連核心也讀不到的記憶體:VBS、HVCI 與 Credential Guard 的運作方式
在相容硬體上全新安裝時預設啟用的 VBS,用 Hypervisor 與 SLAT 做出比核心更強的隔離。本文解說 VTL、安全核心、HVCI 與 Credential Guard 的結構。
-
Windows 虛擬化的深層(第 1 回)── 你的 Windows 究竟跑在哪裡:Hypervisor 與分割區
啟用 Hyper-V 之後,主機 Windows 本身會以根分割區的身分跑在 Hypervisor 之上。本文從 VT-x、SLAT、VMBus 的職責講起,說清虛擬化的底層基礎。
-
Win32 執行緒集區 API ── 用 CreateThreadpoolWork 做「不自己建立執行緒」的並行
原生程式碼裡是不是到處都在呼叫 CreateThread?本文依據一手資料解說 Vista 全面重新設計的 Win32 執行緒集區 API:work、timer、wait、io 四種物件、清理群組,以及回呼裡禁止做的事。
-
具名管道實務 ── 從設計到安全,看懂 Windows 行程間通訊的標準做法
以實務角度說明 Windows 行程間通訊的標準做法——具名管道。依據一手資料整理位元組模式與訊息模式的取捨、同時接受多個用戶端的伺服器結構、ACL 與模擬的安全設計,以及 .NET 的具名管道串流。
-
從睡眠恢復就壞掉的應用程式 ── 電源事件的機制,以及耐得住恢復的業務應用程式寫法
打開筆電,業務應用程式的連線卻斷了──原因是設計從未把睡眠算進去。本文依一次資訊整理 WM_POWERBROADCAST 的通知流程、Modern Standby 的行為、斷線/重連設計、睡眠抑制,以及調查指令。
-
DllMain 與載入器鎖定 ── 「DLL 初始化時什麼都別做」真正的理由
為什麼不能在 DllMain 裡呼叫 LoadLibrary 或與其他執行緒同步?本文依據一次資料,從序列化所有 DLL 通知的載入器鎖定機制,一路說明到死結成立的典型情境、延遲初始化等正確設計,以及無回應的調查步驟。
-
「沒有回應」的真面目 ── Windows 如何判定應用程式卡住,以及不卡住的設計
Windows 的「沒有回應」,是視窗 5 秒沒有取出訊息時由作業系統判定、並換成幽靈視窗的機制。本文從判定的內部運作,講到卡住的經典原因、把重工作移出 UI 執行緒的設計,以及無回應的調查程序。
-
虛假喚醒 ── 條件變數為何「沒被通知也會醒來」,以及 Windows 上正確的等待方式
條件變數的 wait 即使沒有通知到來也可能醒來(虛假喚醒)。本文從 Windows 的實作解開規格為何允許它,並用 Win32、C++ 與 C# 的程式碼示範以 while 與述詞撰寫的正確等待方式。
-
剪貼簿與拖放的運作方式 ── 在業務應用程式中正確處理 OLE 資料傳輸
貼上 Excel 表格就散掉、關掉複製來源就貼不上──真正的原因,是剪貼簿把同一份內容以多種格式同時放上。本文從標準格式、延遲轉譯、OLE 拖放,一路談到剪貼簿歷程與雲端同步的原則。
-
WPR/WPA 實務 ── 從系統整體調查「整台 PC 變慢」的效能調查入門
「整台 PC 變慢」「開機很慢」這類工作管理員追不到的效能問題,可以用擷取並閱讀整個 OS 的 ETW 追蹤的 WPR/WPA 來調查。本文從 wpr.exe 的擷取步驟,一路說明到在 WPA 裡怎麼讀 CPU、等待時間與磁碟 I/O。
-
從應用程式看 Windows 關機 ── 正確扛住結束通知、重新啟動與斷電
夜間 Windows Update 重新啟動把量測資料弄壞了──這類事故可以用設計預防。本文依一次資訊說明 WM_QUERYENDSESSION 與 PRESHUTDOWN 等結束通知的接法、幾秒內做完的收尾,以及耐得住斷電的儲存設計。
-
Windows 應用程式無障礙入門 ── 以 UI Automation 因應合理調整的義務化
以 2024 年 4 月施行的日本消除對身心障礙者歧視法修正為背景,本文以螢幕閱讀器讀取 Windows 應用程式的機制 UI Automation 為主軸,從實務角度整理 WinForms/WPF 的命名、鍵盤操作、對比與驗證工具。