Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+中嵌入特定的Web浏览器+;应用_C++_Internet Explorer_Browser_Com_Webbrowser Control - Fatal编程技术网

C++ 在C+中嵌入特定的Web浏览器+;应用

C++ 在C+中嵌入特定的Web浏览器+;应用,c++,internet-explorer,browser,com,webbrowser-control,C++,Internet Explorer,Browser,Com,Webbrowser Control,我的问题可能有点疯狂,我知道它必须是类似COM的东西,但我需要在我的应用程序中包含和COM特定版本的Web浏览器,无论计算机当前使用的浏览器版本是什么,比如包括IE7(dll文件或任何东西)在项目和COM编程中,它作为C++应用程序的窗口,在Internet上冲浪网页,尽管客户端机器中的默认浏览器是IE9。并将带有IE7文件的已编译项目部署到客户端计算机。如果IE/COM不能以这种方式工作,那么其他浏览器能做到吗 非常感谢 CanadaYong不,您不能在应用程序中“嵌入”特定版本的Intern

我的问题可能有点疯狂,我知道它必须是类似COM的东西,但我需要在我的应用程序中包含和COM特定版本的Web浏览器,无论计算机当前使用的浏览器版本是什么,比如包括IE7(dll文件或任何东西)在项目和COM编程中,它作为C++应用程序的窗口,在Internet上冲浪网页,尽管客户端机器中的默认浏览器是IE9。并将带有IE7文件的已编译项目部署到客户端计算机。如果IE/COM不能以这种方式工作,那么其他浏览器能做到吗

非常感谢


CanadaYong

不,您不能在应用程序中“嵌入”特定版本的Internet Explorer。但您可能不需要这样做:当您在应用程序中使用IE COM WebBrowser控件时,默认情况下它在IE7兼容模式下运行。仅当您明确设置列出可执行文件名的
功能\u浏览器\u仿真
注册表项时,才使用更高的模式。

否,您不能在应用程序中“嵌入”特定版本的Internet Explorer。但您可能不需要这样做:当您在应用程序中使用IE COM WebBrowser控件时,默认情况下它在IE7兼容模式下运行。仅当您明确设置列出可执行文件名的
功能\u浏览器\u仿真
注册表项时,才使用后续模式。

如果您可以使用webkit完成工作,那么这里有一些帮助:我还需要自动填充某些页面上的某些字段,或者自动上载文件并单击按钮?是否可以通过WebKit实现?谢谢至少在IE方面,我怀疑这是可能的。它被视为操作系统的一部分,因此唯一可用的版本是作为操作系统一部分安装的版本。如果用户有IE9,那么IE7根本不可用。如果您可以使用webkit完成工作,那么这里有一些帮助:我还需要自动填充某些页面上的某些字段,或者自动上载文件并单击按钮?是否可以通过WebKit实现?谢谢至少在IE方面,我怀疑这是可能的。它被视为操作系统的一部分,因此唯一可用的版本是作为操作系统一部分安装的版本。如果用户有IE9,那么IE7根本不可用。大多数客户端计算机可能安装了闪存,这可能会干扰应用程序,有没有办法取消闪存以模拟干净的IE环境。它以什么方式“干扰”?从技术上讲,是的,您可以将Web浏览器主机配置为禁用所有/任何ActiveX控件,但执行此操作的代码并不简单。如果没有flash,我可以获取ElementById一个提交按钮,但如果安装了flash,我不能,因为该按钮已设置为flash按钮,我无法在flash按钮上发出按钮单击事件。也许有些页面是这样设计的,以适应闪存或非闪存。但在我的应用程序中,我不想肯定flash。谢谢我在这里写了一点关于如何做到这一点:但我还没有提供完整的代码示例。谢谢大家,我已经放弃了它,并寻求其他更容易接近的解决方案。大多数客户端计算机可能安装了flash,这可能会干扰应用程序,有没有办法解散flash以模拟干净的IE环境。它是以什么方式实现的“干涉"? 从技术上讲,是的,您可以将Web浏览器主机配置为禁用所有/任何ActiveX控件,但执行此操作的代码并不简单。如果没有flash,我可以获取ElementById一个提交按钮,但如果安装了flash,我不能,因为该按钮已设置为flash按钮,我无法在flash按钮上发出按钮单击事件。也许有些页面是这样设计的,以适应闪存或非闪存。但在我的应用程序中,我不想肯定flash。谢谢我在这里写了一点关于如何做到这一点:但我还没有提供完整的代码示例。谢谢大家,我已经放弃了它,并寻求其他更容易实现的解决方案。