Webkit的.NET包装器

时间:2011-05-21 20:38:04

标签: c# .net visual-studio-2010 webkit

我在Visual Studio 2011中使用WebKit .NET包装器创建了一个浏览器。但由于我是C#的新手,我可能有一个奇怪的问题......

为什么我不能在浏览器中使用http://www.webkit.org/?如果这是不可能的,为WebKit创建.NET包装器有多难?怎么......

1 个答案:

答案 0 :(得分:6)

因为Webkit是用C ++编写的,而不是用C#编写的。需要一个转换层来编组C#的托管代码执行环境和Webkit中的非托管代码。对于Webkit来说,这并不是特别困难,它支持COM自动化界面。 .NET支持的东西。

必要的起点是Webkit的类型库。这是程序集元数据的COM版本,它以语言中立的方式描述非托管COM接口类型。 .NET Tlbimp.exe工具将类型库转换为.NET互操作库。在Visual Studio中很容易,您可以使用Project + Add Reference,Browse选项卡并选择Webkit.tlb文件。这会自动生成Webkit.Interop.dll程序集,即.NET接口的.NET版本。

您可能怀疑,该界面并不是特别小。从那里,你可以编写友好的.NET包装类来隐藏界面复杂性,这是SourceForge project所采用的方法。研究它以了解它如何使用界面应该具有启发性。 .NET WebBrowser控件和HtmlDocument和HtmlElement类的工作方式完全相同,但对于IE。