2011-05-21 58 views
1

我已經使用WebKit .NET包裝器在Visual Studio 2011中創建了一個瀏覽器。但由於我是C#的新手,我可能有一個奇怪的問題...Webkit的.NET包裝器

爲什麼我不能只用:http://www.webkit.org/爲我的瀏覽器?如果這是不可能的,那麼爲WebKit創建一個.NET包裝器有多難?以及如何...

回答

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程序集,COM接口的.NET版本。

正如您可能會懷疑的那樣,該界面並不特別小。從那裏,你可以編寫友好的.NET包裝類,它隱藏了界面的複雜性,這個SourceForge project所採用的方式。研究它看它如何使用界面應該是有啓發性的。 .NET WebBrowser控件和HtmlDocument和HtmlElement類的工作方式完全相同,但是適用於IE。

+0

好的,如果我想要自定義現有的sourceforge項目,我該從哪裏開始?有沒有任何教程? – Dillen 2011-05-22 07:43:27