Blog
Practical articles from KomuraSoft LLC about website development, SEO, Google Ads, Windows development, legacy asset reuse, and bug investigation.
AI search across this site
Search queries are sent to Cloudflare AI Search to generate results. Please do not enter personal information.
-
Extending the Life of and Migrating VB6 / Access Business Apps — A Decision Table for Keep, Wrap, or Replace
How do you decide whether to leave a VB6 application or Microsoft Access business app as-is, extend its life by wrapping only part of it, or replace it outri...
-
Reading Crash Dumps with WinDbg + SOS — A Practical Guide to Analysis After Collection
Explains how to actually read a collected Windows crash dump using WinDbg and the SOS extension. Covers symbol path configuration, tracking exceptions and me...
-
Preventing Multiple Instances of a Windows App — Named Mutexes and Activating the Existing Window on a Second Launch
This article organizes the classic requirement for business Windows apps — 'don't let the same app launch twice' — around a named Mutex. We cover the pitfall...
-
Safely Calling Win32 APIs from C# — A Practical P/Invoke Guide (DllImport / LibraryImport / CsWin32)
A practical rundown of what to watch for when calling Win32 APIs and native DLLs from C# via P/Invoke. Covers the differences between DllImport and LibraryIm...
-
Integrating Entra ID Authentication into WinForms/WPF Apps — A Practical Architecture with MSAL.NET and the WAM Broker
A practical, hands-on look at integrating Entra ID (formerly Azure AD) authentication into WinForms/WPF desktop apps: the public client mindset, where ROPC s...
-
Date, Time, and Timezones in Business Apps — From DateTime Pitfalls to the UTC-Storage Principle and Test Design
Timestamps drift by nine hours after a server migration; only the overseas office's dates roll back to the previous day — we trace date/time incidents back t...
-
UI Automated Testing for Windows Desktop Apps — How UI Automation Works and Building Robust Tests with FlaUI
A practical guide to UI automated testing for WinForms/WPF apps, working from how Windows UI Automation itself works (the tree, AutomationId, control pattern...
-
WPF High-DPI Support — Why It Still Blurs and Bleeds Despite Being 'Supposedly DPI-Aware,' and How to Fix It
WPF lays out UI in DIPs (1/96 inch) and is System DPI Aware from the start, but moving a window to a monitor with a different DPI blurs the whole screen, and...
-
Why EXCEL.EXE Processes Remain After C# Excel COM Automation — Reference Release Patterns and the Replacement Decision
A practical look at why EXCEL.EXE processes remain running after automating Excel from C# via Microsoft.Office.Interop.Excel, explained through COM reference...
-
High-DPI Support in WinForms — Why the UI Blurs or Breaks on 4K Monitors, and Practical Fixes
This article organizes the reasons WinForms apps blur or have broken layouts on 4K monitors and 150% scaling, starting from DPI virtualization and DPI awaren...