Blog
Articoli pratici di KomuraSoft LLC su sviluppo web, SEO, Google Ads, sviluppo Windows, valorizzazione dei sistemi esistenti e analisi dei malfunzionamenti.
Ricerca IA in tutto il sito
Le query di ricerca vengono inviate a Cloudflare AI Search per generare i risultati. Non inserire dati personali.
-
Riflessioni sul benchmark tra versioni di un programma Windows
Quando si confrontano versioni di un programma Windows, il vero obiettivo non è lo score ma riprodurre la sensazione dell'utente. Organizziamo i punti di att...
-
Come isolare concretamente "solo le operazioni che necessitano dei privilegi di amministratore" in un'app Windows
Una procedura dettagliata concreta per mantenere l'UI dell'app Windows su asInvoker isolando solo le operazioni con privilegi di amministratore in un helper ...
-
Memorizzazione di segreti nelle app Windows: evitare la configurazione in testo normale con DPAPI
Per evitare di archiviare credenziali di connessione e token API in file di configurazione di testo normale nelle app Windows, esamineremo DPAPI / ProtectedD...
-
Elenco di controllo pre-migrazione per il passaggio da .NET Framework a .NET
Un pratico elenco di controllo di cosa verificare prima della migrazione da .NET Framework a .NET: tipi di progetto, tecnologie non supportate, dipendenze Nu...
-
Come convertire YUV in RGB con Media Foundation
Due modi per ottenere RGB da YUV in Media Foundation: lasciare che Source Reader emetta RGB32 oppure convertire NV12 / YUY2 gestendo tu stesso stride e matri...
-
Una guida alle impostazioni avanzate della NIC Windows - RSS / LSO / EEE / Attiva LAN
Una guida pratica alle impostazioni avanzate della NIC Windows. Cosa cambia effettivamente quando modifichi Jumbo Packet, Speed & Duplex, RSS, RSC, LSO, Fl...
-
Estrazione di un'immagine fissa da un MP4 in un momento specifico con Media Foundation
Come acquisire il fotogramma più vicino a un determinato tempo in un MP4 con Source Reader, correggere il passo e il RGB32 byte alfa e salvarlo come PNG.
-
Una lista di controllo minima sulla sicurezza per lo sviluppo di app Windows
Una guida in stile elenco di controllo alle nozioni di base sulla sicurezza per le app aziendali WPF / WinForms / WinUI / C++ / C#: privilegi, firma, aggiorn...
-
Qual è il .NET Generic Host? - La base per DI, configurazione e registrazione
Il .NET Generic Host in parole povere: un posto per DI, configurazione, registrazione, BackgroundService e arresto regolare. Esempio di console minima incluso.
-
Cos'è .NET Native AOT? - Come differisce da JIT, ReadyToRun e Trimming
Come Native AOT si differenzia da JIT, ReadyToRun e trimming, cosa si guadagna in avvio e deployment, e dove il codice reflection-heavy si rompe.
-
COM, ActiveX e OCX — Distinzioni pratiche per chi eredita sistemi Windows
COM è la tecnologia di base, ActiveX è il contesto in cui si usano i componenti COM embedded, OCX è un'estensione di file per le ActiveX controls. Organizzia...
-
Scelta tra i tre timer di .NET - PeriodicTimer / Timer / DispatcherTimer
Quale timer .NET dovresti usare? PeriodicTimer per loop asincroni, timer per callback ThreadPool, DispatcherTimer per WPF UI, oltre a una tabella e un codice...
-
Chiamando un C# Native AOT DLL da C / C++
Esporta i punti di ingresso C da C# con Native AOT e UnmanagedCallersOnly e chiamali da C / C++: impostazione del progetto, gestione delle stringhe e un esem...
-
Perché utilizzare .NET Generic Host e BackgroundService nelle app desktop
Come utilizzare Generic Host e BackgroundService per organizzare l'avvio, l'elaborazione periodica, l'arresto, la registrazione, la configurazione e DI negli...
-
Come gestire ActiveX / OCX oggi - Una tabella decisionale Mantieni / Avvolgi / Sostituisci
Quando trovi ActiveX / OCX, come scegliere tra mantenerlo, racchiuderlo e sostituirlo, coprendo 32-bit / 64-bit, registrazione, dipendenze del browser e supp...
-
WPF / WinForms asincrono e il thread dell'UI su un foglio
Dopo l'attesa in WPF o WinForms, quale thread esegue il tuo codice? Copre Dispatcher.Invoke, ConfigureAwait(false) e perché .Result e .Wait() deadlock.
-
Costruire una base di test del percorso di fallimento Windows con Application Verifier
Cos'è Application Verifier, organizzato insieme a come costruire una base di test del percorso di fallimento Windows utilizzando Handles, Heaps, Low Resource...
-
Indagine sugli arresti anomali a lungo termine di un'app per fotocamere industriali: la perdita dell'handle (parte 1)
Come esaminare un'app Windows che si arresta improvvisamente in modo anomalo dopo un funzionamento prolungato, utilizzando un caso di studio di un'app di con...
-
Perché le ritrasmissioni TCP bloccano la comunicazione con telecamere industriali, e come isolarle
Come isolare la causa quando la comunicazione con telecamere industriali si blocca per diversi secondi a causa di ritrasmissioni TCP, coprendo packet loss, R...
-
Una guida pratica a FileSystemWatcher: gestire gli eventi persi e duplicati
Organizziamo come utilizzare FileSystemWatcher e le sue insidie: eventi persi, notifiche duplicate, trappole di rilevamento del completamento, nuove scansion...
-
Un'introduzione a Media Foundation: comprendere l'API attraverso una lente COM
Spieghiamo cos'è Media Foundation, insieme al vocabolario di base di Windows media API - COM, HRESULT, IMFSourceReader, MFTs - nell'ordine in cui dovresti im...
-
Una tabella decisionale pratica per C# async / await - Task.Run e ConfigureAwait
Organizziamo le migliori pratiche asincrone / in attesa di C#: attese di I / O, lavoro della CPU, Task.Run, ConfigureAwait(false) e fire-and-forget, complete...
-
Una guida pratica per avvicinarsi il più possibile a Soft Real-Time su Windows ordinario
Organizziamo come stabilizzare l'elaborazione periodica e a bassa latenza su Windows ordinario, coprendo la risoluzione del timer, le priorità, le impostazio...
-
Fondamenti di mutua esclusione per integrazione basata su file - Best practice per lock file e claim atomici
Organizziamo la mutua esclusione per integrazione basata su file attorno a lock file, claim atomici, temp -> rename e idempotenza, e tracciamo design che pre...
-
Chiamare DLL native da C#: wrapper C++/CLI vs P/Invoke
Quando P/Invoke basta e quando un wrapper C++/CLI ripaga per chiamare DLL native da C#: classi C++, ownership, eccezioni, callback — con codice di esempio.
-
Introduzione agli HCP Chart e a MakingHCPChartSkill
Spieghiamo cosa sono gli HCP chart e come MakingHCPChartSkill converte HCP-DSL in SVG deterministici, come leggere l'output e come usarlo.
-
Fondamenti STA/MTA di COM - Modelli di threading e come evitare blocchi
Perché i thread UI sono STA, come funziona il marshaling tra apartment e perché le chiamate COM si bloccano senza message pumping - con diagrammi e esempio d...
-
Esempio pratico di un ponte COM per chiamare una DLL a 64 bit da un'applicazione a 32 bit
Quando un'applicazione a 32 bit non può chiamare direttamente una DLL a 64 bit, un ponte COM può collegarle. Illustrativo approccio, inclusi vincoli di Windo...
-
Cos'è COM? - Perché il design di Windows COM è ancora bello oggi
Spieghiamo cos'è COM dal punto di vista del design delle interfacce Windows COM, IUnknown, GUID e compatibilità binaria, e perché regge ancora oggi.
-
Annuncio dell'apertura del nostro blog tecnico - Un blog di sviluppo Windows / C# / COM
Annuncio dell'apertura del blog tecnico di KomuraSoft LLC. Condivideremo conoscenze su sviluppo Windows, C# / .NET, COM, progettazione e strumenti di sviluppo.