我使用 WebKit .NET 包装器在 Visual Studio 2011 中创建了一个浏览器。但由于我是 C# 的新手,我可能有一个奇怪的问题......
为什么我不能只使用:http://www.webkit.org/对于我的浏览器?如果这不可能,那么为 WebKit 创建一个 .NET 包装器会有多难?以及如何...
请您参考如下方法:
因为 Webkit 是用 C++ 编写的,而不是用 C# 编写的。需要一个转换层来在 C# 的托管代码执行环境和 Webkit 中的非托管代码之间编码。这对 Webkit 来说并不是特别困难,它支持 COM 自动化接口(interface)。 .NET 支持的东西。
必要的起点是 Webkit 的类型库。那是程序集元数据的 COM 版本,它以语言中立的方式描述非托管 COM 接口(interface)类型。 .NET Tlbimp.exe 工具将类型库转换为 .NET 互操作库。在 Visual Studio 中很容易做到,您可以使用 Project + Add Reference,浏览选项卡并选择 Webkit.tlb 文件。这会自动生成 Webkit.Interop.dll 程序集,COM 接口(interface)的 .NET 版本。
您可能会怀疑,该界面并不是特别小。从那里,您可以编写友好的 .NET 包装类来隐藏接口(interface)的复杂性,这是 SourceForge project 采取的策略。 .研究它以了解它如何使用界面应该很有启发性。 .NET WebBrowser 控件以及 HtmlDocument 和 HtmlElement 类的工作方式完全相同,但适用于 IE。
