COM, buddy! Publish your interface with a known UUID, anyone can claim support for your interface in the system registry, there's a standard way to initialize libraries and pull objects supporting the interface out of it, so now you can pull other peoples' applications into yours, without knowing anything about their software. This is used _all over the place_ on Windows, for things like arbitrary cross-application embedding and context menu support... at least before we realized we miiiight want to have some notion of "computer security".

https://learn.microsoft.com/en-us/windows/win32/com/com-tech...