You can achieve it with my program called singleinstance (source code). No shell extensions involved.
How to link NuGet package to a native C++ application using CMake and Visual Studio
The Microsoft.Web.WebView2 component is distributed through the Nuget package repository (https://www.nuget.org).
How to link it to a native C++ project that uses CMake and is compiled using Visual Studio without vcpkg?
How to build Image Uploader (GUI) v1.3.3 from source on Windows
Thanks to the switch to the Conan package manager, the Image Uploader program can now be built (in its basic configuration) without any voodoo. The build process has finally become stable and reproducible.
You will need:
- Git https://git-scm.com/downloads
- Microsoft Visual Studio 2019 or newer (with a C++ compiler) https://visualstudio.microsoft.com/downloads/
- CMake (tested with v3.18.2, the program's path must be in the PATH variable) https://cmake.org/
- Python 3 https://www.python.org/downloads/
- Conan v1.x (C++ package manager) https://conan.io/ (I recommend installing it via pip)
Monitoring the external interface (UL / DL) of a Keenetic router in a desktop widget (Rainmeter Plugin)

Once, I wanted to see a graph of my Keenetic Viva (KN-1910) router's WAN channel load right on my Windows 10 desktop.
Having found no ready-made solutions, I started looking for a desktop widget program that would let me create custom widgets. I liked the open-source program Rainmeter.
After reading the documentation on creating widgets (called "skins" in their terminology) and external plugins, I wrote a plugin in C++. The plugin communicates with the router via a REST API.
What an ideal C++ programmer should know, in a vacuum
Many companies often have unreasonable requirements for programmers.
Here's what an ideal C++ programmer job posting might look like:
1. C++, the standard, Stroustrup/D&E/Josuttis, Dewhurst/Meyers/Sutter, RAII, the rule of three, exception safety, Alexandrescu/Abrahams-Gurtovoy, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Czarnecki-Eisenecker, TR1, TR on C++ performance, the Stepanov test, the forwarding problem, SPECS, C++0x
2. Compilers, standard implementation quirks, implementation limits, intrinsics, differences between standard libraries (containers, rand), ABI, implementation of virtual functions, virtual inheritance, exceptions, RTTI, switch statements, function and member pointers; optimizations, copy elision (RVO, NRVO), sizeof on different platforms, compiler and environment defines, __declspec, compiler flags, empty-base optimization, static and dynamic linking, name mangling, distributed compilation, precompiled headers, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
3. Multithreading, the dining philosophers, deadlock/race condition/starvation, atomicity, processor lock instructions, CAS or LL/SC, wait/lock/obstruction-free, the ABA problem, writing lock-free containers, spin-locks, TLS/per-thread data, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green threads/coroutines, pthreads
Deploying Windows applications on Linux(Wine) with InnoSetup
First, we need to detect Wine in the InnoSetup script.
function LoadLibraryA(lpLibFileName: PAnsiChar): THandle;
external 'LoadLibraryA@kernel32.dll stdcall';
function GetProcAddress(Module: THandle; ProcName: PAnsiChar): Longword;
external 'GetProcAddress@kernel32.dll stdcall';
function IsWine: boolean;
var LibHandle : THandle;
begin
LibHandle := LoadLibraryA('ntdll.dll');
Result:= GetProcAddress(LibHandle, 'wine_get_version')<> 0;
end;