部落格
KomuraSoft LLC 針對網站製作、SEO、Google 廣告運用、Windows 開發、既有資產活用與故障調查,分享可在實務中活用的觀點。
全站 AI 搜尋
搜尋關鍵字會傳送至 Cloudflare AI Search 以產生結果,請勿輸入個人資料。
-
用 Media Foundation 從 MP4 的指定時間擷取靜態影像的方法
整理如何用 Source Reader 取出 MP4 中最接近指定時間的影格,把 stride 與 RGB32 的 alpha 整理好之後存成 PNG 的實作步驟。
-
Windows 應用程式開發的最低限度資安檢核表
以檢核表形式整理 WPF / WinForms / WinUI / C++ / C# 業務應用程式在權限、簽署、更新、機密資訊、HTTPS、輸入驗證、DLL 載入與日誌方面的基本要點。
-
.NET Generic Host 是什麼 - DI、設定、日誌的基礎
本文從 DI、設定、日誌、IHostedService、BackgroundService 之間的關係梳理 Generic Host 的角色,並以實務角度歸納它在哪裡管用、在哪裡又會顯得過剩。
-
.NET Native AOT 是什麼 - 與 JIT、trimming 的差異
從與 JIT、ReadyToRun、self-contained、single-file、trimming、source generator 的差異梳理 Native AOT 到底是什麼,並以實務角度歸納它適合的情境與吃力的情境。
-
COM / ActiveX / OCX 是什麼 - 差異與關係一次整理
從實務角度梳理 COM 是什麼、ActiveX 是什麼、OCX 是什麼,涵蓋三者的差異與關係、與 OLE 的關聯、實際用在哪些地方,以及現在該怎麼看待它們。
-
.NET 三種計時器的區分使用 - PeriodicTimer/Timer/DispatcherTimer
梳理 PeriodicTimer / System.Threading.Timer / DispatcherTimer 的差異,以及在 async 處理、ThreadPool callback、WPF 的 UI 更新中該如何區分使用。
-
從 C/C++ 呼叫 C# Native AOT DLL 的方法
本文說明如何以 Native AOT 把 C# 的類別庫發行成原生 DLL,並從 C/C++ 呼叫 UnmanagedCallersOnly 的進入點,從適用時機、實作模式與注意事項梳理這套構成。
-
在桌面應用程式使用 .NET Generic Host 與 BackgroundService 的理由
為了在 Windows 工具與常駐型應用程式中梳理啟動、定期處理、終止處理、日誌、設定與 DI,本文整理 Generic Host 與 BackgroundService 該怎麼用。
-
ActiveX / OCX 現在該怎麼處理 - 保留、包裝、取代的判斷表
整理發現 ActiveX / OCX 時該選保留、包裝還是取代,把 32 位元與 64 位元、註冊、瀏覽器相依性以至於廠商維護都一起納入判斷。
-
以一頁整理 WPF / WinForms 的 async 與 UI 執行緒
本文梳理 WPF / WinForms 中 await 之後的回歸處、Dispatcher / Invoke、ConfigureAwait(false),以及 .Result / .Wait() 的常見卡關處。
-
用 Application Verifier 打造 Windows 異常情境測試基礎架構
本文梳理 Application Verifier 是什麼,並一併說明如何用 Handles、Heaps、Low Resource Simulation 與 !htrace 打造 Windows 的異常情境測試基礎架構。
-
工業相機長期運轉當機調查 - 控制代碼洩漏篇
本文以工業相機控制應用程式的案例,從找出控制代碼洩漏與日誌設計這兩個角度,梳理 Windows 應用程式長時間運轉後突然當掉時該怎麼看。
-
TCP 重送導致工業相機通訊停頓的原因與釐清方法
本文梳理工業相機通訊因 TCP 重送而停頓數秒時的釐清方法,並一併說明封包遺失、RTO、RFC1323 timestamp 與 Wireshark 的檢查重點。
-
FileSystemWatcher 實務指南 - 漏掉通知與重複通知的對策
從漏掉通知、重複通知、完成判定的陷阱、重新掃描、原子性 claim、idempotency 等角度,梳理 FileSystemWatcher 的用法與注意事項。
-
Media Foundation 入門 - 從 COM 的視角理解這套 API
說明 Media Foundation 是什麼,並依照最初該掌握的順序,一併整理 COM、HRESULT、IMFSourceReader、MFT 等 Windows 媒體 API 的基本用語。
-
C# async/await 實務判斷表 - Task.Run 與 ConfigureAwait
本文以判斷表梳理 C# async/await 的最佳實踐,涵蓋 I/O 等待、CPU 計算、Task.Run、ConfigureAwait(false) 與 fire-and-forget。
-
在一般 Windows 上盡可能實現軟即時的實戰指南
從計時器精度、優先權、電源設定與監控方式,梳理在一般 Windows 上讓週期處理與低延遲處理穩定下來的思路。
-
檔案介接互斥控制的基礎知識 - 檔案鎖定與原子性 claim 的最佳實踐
本文從檔案鎖定、原子性 claim、temp -> rename 與 idempotency 的角度梳理檔案介接的互斥控制,並歸納出讓共用資料夾介接不出事的設計。
-
從 C# 呼叫原生 DLL:C++/CLI 包裝層 vs P/Invoke
從 C# 使用原生 DLL 時,本文以所有權、例外、C++ 型別、回呼等角度,分辨 P/Invoke 就夠用的場合與 C++/CLI 包裝層才派得上用場的場合,並梳理插一層薄包裝層的好處。
-
HCP 圖表與 MakingHCPChartSkill 入門
說明 HCP 圖表是什麼,並整理 MakingHCPChartSkill 把 HCP-DSL 轉成決定性 SVG 的流程、圖的讀法與使用方式。
-
COM STA/MTA 基礎知識 - 執行緒模型與避免停止回應的思考方式
本文梳理 COM STA/MTA 的基礎知識,涵蓋 Apartment Model、UI 執行緒、訊息迴圈、封送處理,以及避免停止回應的思考方式。
-
從 32bit 應用呼叫 64bit DLL 的 COM 橋接案例
當 32bit 應用無法直接呼叫 64bit DLL 時,本文梳理以 COM 橋接串接兩者的思路,並一併說明 Windows 的限制、架構與處理流程。
-
什麼是 COM - Windows COM 的設計為何至今依然優美
從 Windows COM 的介面設計、IUnknown、GUID 與二進位相容性的角度梳理什麼是 COM,並說明它至今仍然適用的理由。
-
技術部落格開張公告 - Windows / C# / COM 開發部落格正式上線
小村軟體有限公司技術部落格開張公告。接下來會持續分享 Windows 開發、C# / .NET、COM、設計與開發工具方面的實務心得與經驗。