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?
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;