Я могу ошибаться, но я считаю, что новые окна можно контролировать (или, по крайней мере, подавлять) с помощью элемента управления веб-браузера в .NET. Посмотрите на событие NewWindow.
У меня был опыт встраивания ядер WebKit (Apple Core, используемый в Chrome) и XULRunner (Gecko) в WinNET-приложения .NET. Позвольте дать вам несколько советов:
GeckoFX - ваш лучший выбор. Он лицензирован под MPL и работает практически из коробки.
Внимательно следуйте инструкциям и извлеките точную версию XUL, которая указана. Я бы сказал, что он работает лучше, чем элемент управления WebBrowser. Есть некоторые разговоры о значительной задержке при загрузке XUL в первый раз, но я обнаружил, что она незначительна. Брендинг и т.п. полностью настраиваются с помощью внешних файлов.
WebKit встраивается с SwiftDotNet. Если все, что вам нужно, это хорошая производительность JavaScript, то это может быть вариант. Если вам нужно иметь возможность загружать файлы, у вас есть кое-какая работа для вас.
Ваш недостаток в обоих маршрутах - неприятные накладные расходы ~ 7-8 МБ, даже со сжатием (хотя мне удалось получить 6,5 МБ со сжатием lz в NSIS). Если вы не создаете распространяемое программное обеспечение, ориентированное на потребителя, тогда это может не быть проблемой для вас.