1

如何在C++中使用IE控件或某種webbrowser,但沒有任何外部依賴關係?我的意思是可以用純贏的API或類似的東西來完成? 我知道C++的基本知識,並且我知道使用webbrowser控件的方法需要C++ libs才能工作。如何在沒有依賴關係的情況下在C++中創建webbrowser?

編輯:
對不起我的問題不清楚,有時即時通訊這樣的小白。我的意思是我希望我的編譯的exe可以在所有窗口上運行,而無需安裝任何類型的庫,但是我希望我編譯的exe不需要隨任何dll一起提供,只需要exe就可以得到它需要從基本的Windows系統(即新鮮的winXP(或其他版本)安裝)工作的所有依賴關係

+2

您需要說明外部依賴關係。 Internet Explorer根據定義是一種外部依賴性,您需要引入正確的COM接口才能實例化它。也就是說,通過將所有定義放置在項目中,您可以使用Win32 API創建它,而無需鏈接任何額外的東西。 – 2010-10-15 15:42:43

+2

這是一種矛盾 - 如果你使用某種東西,那麼你就依賴它。當然,你可以用Win API編寫瀏覽器,但這是一個巨大的項目。 – 2010-10-15 15:44:16

+0

對不起,我的問題不清楚,我有時候會這樣做。我的意思是我希望我的編譯的exe可以在所有窗口上運行,而無需安裝任何類型的庫,但是我希望我編譯的exe不需要隨任何dll一起提供,只需要exe就可以得到它需要從基礎Windows系統(即新的winXP(或其他版本)安裝)工作的所有依賴關係。 – gtilx 2010-10-15 16:03:38

回答

2

主機的Internet Explorer:

也可以主辦的WebKit或Gecko的...

編寫您自己從頭開始只使用GDI等可能不是一個好主意。

+0

要在Win中託管WebKit或Gecko,我需要使用某個dll或庫來分發應用程序? – gtilx 2010-10-15 16:20:23

+0

gtilx:我確定你可以靜態鏈接,但我認爲使用IE瀏覽器的工作量要少很多 – Anders 2010-10-15 22:45:53

0

是的,這很容易。只需創建一個新的對話框或其他內容,然後轉到Toolbox窗口,右鍵單擊並選擇「Add Items ...」。從那裏,在COM控件中找到「Microsoft Web Browser」(我認爲它叫做)。添加完後,您可以將網頁瀏覽器從工具箱拖到對話框中。

+0

謝謝我認爲COM控件是我正在尋找的。稍後會做一些測試。 – gtilx 2010-10-15 16:04:43

0

如果你不介意MFC,你可以通過將它編譯爲一個靜態項目來將webbrowser構建成單個可執行文件。您必須使用herehere所述的CHtmlView類。編譯後的exe文件可以在所有窗口上運行,並且只需要單個exe文件,所有必要的庫都將被編譯到該exe文件中。

相關問題