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文件中。

相关问题