部落格
KomuraSoft LLC 針對網站製作、SEO、Google 廣告運用、Windows 開發、既有資產活用與故障調查,分享可在實務中活用的觀點。
全站 AI 搜尋
搜尋關鍵字會傳送至 Cloudflare AI Search 以產生結果,請勿輸入個人資料。
-
Windows 桌面應用程式的 UI 自動測試 ── UI Automation 的原理與用 FlaUI 打造不易損壞的測試
本文從 Windows UI Automation 的原理(樹狀結構、AutomationId、控制項模式)整理 WinForms/WPF 應用程式的 UI 自動測試。內容涵蓋以 FlaUI 實作的最小範例、WinAppDriver 的現況、透過 AutomationId 設計與條件等待讓測試不易損壞的方法,以及...
-
WPF 高 DPI 對應──「不是應該對 DPI 很強嗎」卻仍模糊、暈邊的原因與對策
WPF 以 DIP(1/96 英吋)進行版面配置,一開始就是 System DPI Aware,但移到 DPI 不同的螢幕時整體會暈邊,點陣圖與細線也會模糊。本文從實務角度整理原因判斷、.NET Framework 4.6.2/.NET 上的 Per-Monitor DPI 對應宣告方式、UseLayoutRou...
-
C# 操作 Excel 時 EXCEL.EXE 殘留的問題 ── COM 參照釋放模式與替換判斷
本文從 COM 參照計數與 RCW 的運作原理,整理 C# 透過 Microsoft.Office.Interop.Excel 操作 Excel 時 EXCEL.EXE 進程殘留的問題。內容涵蓋「兩個點規則」的陷阱、Marshal.ReleaseComObject 派與 GC 派兩種釋放模式、以 Hwnd 定位 ...
-
WinForms 的高DPI支援 - 4K螢幕顯示模糊、版面跑掉的原因與實務對策
本文從 DPI 虛擬化與 DPI 感知模式(System Aware / Per-Monitor V2)的角度,整理 WinForms 應用程式在4K螢幕、150%縮放環境下顯示模糊、版面跑掉的原因,並說明 .NET 與 .NET Framework 各自的設定方式、AutoScaleMode 與設計工具的陷阱,...
-
Windows 的行程間通訊該怎麼選 ── 具名管道 / TCP / gRPC / 共享記憶體 / COM 判斷表
整理 Windows 應用程式之間該如何選擇溝通方式。以判斷表整理具名管道、本機 TCP、gRPC、共享記憶體、檔案協作、COM 各自的強項與陷阱,並從實務角度說明 UI+服務分離・32bit/64bit 橋接・權限邊界等典型架構,以及具名管道的實作範例。
-
在 C# 中將 SQLite 用於業務應用程式 ── WAL 模式・排他控制・損毀對策・與 EF Core 的取捨
整理用 Microsoft.Data.Sqlite 把 SQLite 整合進業務用 Windows 應用程式的實務知識:連線字串與連線池、WAL 模式的原理、SQLITE_BUSY 與寫入路徑單一化、用交易加速、型別對應的陷阱、用 VACUUM INTO 備份,一直到該在什麼場合使用 EF Core。
-
Windows 服務的建立與維運 ── 從工作排程器的取捨到 BackgroundService 服務化
常駐處理該做成 Windows 服務,還是工作排程器就足夠?本文整理判斷表,以及用 .NET Worker Service(UseWindowsService)建立服務的方法、執行帳戶、復原選項、事件記錄、安全停止處理,從實務角度梳理上線維運所需的設計。
-
IE 模式之後改用 WebView2 就好嗎 ── ActiveX 無法運作的限制與現實的遷移設計
本文從內部系統的角度,整理 WebView2 的基本結構、Evergreen 與 Fixed Version 兩種配布策略、使用者資料資料夾的陷阱、原生與 Web 的連結方式,並在「ActiveX 無法運作」這一限制的前提下,梳理出脫離 IE 模式依賴系統的現實遷移順序。
-
Windows應用程式資料儲存位置怎麼選 ── SQLite / JSON / 登錄檔 / Access 判斷表
Windows桌面應用程式的資料該存在哪裡、用什麼格式儲存?本文整理AppData/ProgramData的使用區分,以及SQLite、JSON檔案、登錄檔、Access(.accdb)各自的優勢與陷阱,並附判斷表,從實務角度說明防止資料損毀與位元數問題等注意事項。
-
工作排程器的工作不執行、以 0x1 結束 ── 原因排查與安全的維運設計
本文整理 Windows 工作排程器的執行帳戶與登入類型、「不論使用者是否登入均執行」的含義、以 0x1 結束的典型原因、啟用歷程記錄、防止多重啟動、PowerShell 腳本的正確呼叫方式,直到把定期執行真正落實到維運上的設計方針。