One customer has ActiveX controls implementing buttons in their web customizations of third-party products that can't be modified. These buttons where integrating with other Windows application running on the same client machine of the browser. With the goal of modernizing their application platform, they asked us how to replace these ActiveX with something standard and cross-browser compatible.
The suggested solution would be to use WebSockets, that are supported starting from Internet Explorer 10, but also in Chrome, Safari and Firefox.
The solution is to develop a host application, that would need to accept connections and support Websockets. .NET 4.5 supports Websockets natively and so is strongly suggested, but also previous versions support them through 3rd party libraries on Nuget.
An example where a similar solution is implemented is the Visual Studio feature called browser link. In this case VS acts as a websockets server on the local machine, and any browser can connect and interact with it through it.
One client has a huge list of trusted sites, so going through it to check if a site is in the Trusted Site Zone is not very easy. Also the Internet Explorer option dialog is completely disabled via group policy.
The solution is to go to the site and from File | Properties (Alt+F R) read the settings from the popup.