從零開始搭建基於CEFGlue的CB/S的winform項目
基於CEF,用.net包裝過的Xilium.CefGlue/3,基於此框架可以很方便在你的winform等C/S項目中搭建一個內建的瀏覽器
Chromium Embedded Framework (CEF)是個基於Google Chromium項目的開源Web browser控件,支持Windows, Linux, Mac平台。
CEFGlue是此C++寫就CEF類庫的C# 移植版。基於此類庫,我們可以很方便的在我們的winform等C/S項目中嵌入Chrome瀏覽器。
當我們在項目中引入了CEFGlue類庫之后,我們還需要引入CEF類庫,因為我們需要通過P/Invoke來調用CEF類庫的C++方法。因此如果我們想要在我們的C/S項目中引入瀏覽器就需要通過引入這兩個類庫了。
大概就介紹到這里了。一開始,我們部門的經理叫我去維護一個已有的項目,並嘗試優化。該項目就是一個單機版的應用,由於客戶的需要(客戶的倉庫比較偏遠,連不上網,因此,只能用C/S來做,但是界面winform的界面又丑,如果用wpf,又耗內存,而且部門沒有回WPF的,如果使用GDI+以及重繪控件,又麻煩,當時他們趕時間,因此就有了此項目-基於Chrome內核的CB/S項目)。經理叫我去了解下,項目代碼都給我了,一開始就是懵逼啊,盡管以前玩過webbrowes控件,但那是基於IE,而且是已經封裝好的,引用下就行,不麻煩,這會可以全新的東西,還是沒有聽過的,於是,就想着自己來試試吧,找資料,然后自己搭個demo,跑起來,這樣的話,理解會更深。說干就干,一頓搜狗和百度,找到了一些資料,如下:
基於.net開發chrome核心瀏覽器【二】
基於QT的webkit與ExtJs開發CB/S結構的企業應用管理系統
Xilium.CefGlue與CEF庫的版本匹配關系
有了這些基礎,不再對CEF兩眼抹黑了,當然我沒有去研究內核實現。於是我便開始自己搭建了,哎,說起來都是淚啊,滿屏的英文資料,看的眼睛疼,不過還是熬過來了,下面介紹下吧,首先給兩個官網鏈接,分別是CEFGlue和CEF的下載路徑:
https://bitbucket.org/xilium/xilium.cefglue/downloads/
http://opensource.spotify.com/cefbuilds/index.html
具體怎么用,請參考:
使用CEF(CEFGLUE)作為您的客戶端UI(一)
一定要注意CEFGlue和CEF的版本的對應,要不然會有問題。
其次就是CEF版本的下載了:
我一開始下載的是debug和release,這兩個都是只有dll的,沒有什么用,后來我下載了Simple版的,就是windows Client的,下載解壓后把release下的文件復制到了winform bin下的release就可以了.
注意,一定要對應CEF與CEFGlue的版本,下載CEF要下載Simple的那個(就我而言,我是這么多的,其余版本的你要是也可以運行,也可以下載)