C# 控制台应用程序 WebBrowser

Posted

技术标签:

【中文标题】C# 控制台应用程序 WebBrowser【英文标题】:C# Console Application WebBrowser 【发布时间】:2021-11-14 04:24:02 【问题描述】:

我有一个带有一些类的普通控制台应用程序 .net 核心项目,但我不能使用网络浏览器。我想导航到指定的 URL,但要使用 Windows 窗体应用程序中的 Web 浏览器,而不仅仅是启动我的 chrome 进程。喜欢webbrowser.navigate函数但是我不能用不知道为什么?

【问题讨论】:

【参考方案1】:

控制台应用程序严格基于文本。文本输入、文本输出、光标位置等等。它们不能有任何 UI 控件或输出。因此,如果文本框、保管箱、WebBrowser 等 UI 组件完全可以正常工作,它们将无法正常工作。虽然控制台应用程序可能托管在一个窗口中(因此您可以看到输出),但您的访问权限仅限于可以通过 Console 类控制的内容,它不包括任何图形或对窗口的直接访问。见https://docs.microsoft.com/en-us/dotnet/api/system.console?view=net-5.0

您唯一真正的选择是启动浏览器(或其他应用程序),或将您的应用程序转换为能够显示 WebBrowser 等图形控件的非控制台应用程序。

在控制台应用程序中使用 WebBrowser 从技术上讲是可行的(请参阅https://www.codeproject.com/Questions/197007/How-Use-WebBrowser-without-winform),但请注意它实际上不会在屏幕上显示任何内容,因此它的使用受到限制。

【讨论】:

以上是关于C# 控制台应用程序 WebBrowser的主要内容,如果未能解决你的问题,请参考以下文章

在 webbrowser c# 应用程序中禁用 Cookie 读/写

C# WebBrowser控件使用整理

C# WinForm开发系列 - WebBrowser

网络浏览器控制限制

C# winform webbrowser如何指定内核为IE11?

C# winform webbrowser如何指定内核为IE11?