导航:首页 > 编程语言 > 为什么ie编程难

为什么ie编程难

发布时间:2022-09-07 21:12:37

⑴ 请问我的ie浏览器为什么编程了这样。 求大神指教

刷新网页,网页下载出现错误而已

⑵ 如何对webbrowser和IE编程(六)求解答

无论你使用MFC, ATL, 或者标准 C++自动化IE,方法都是一样—你使用COM API来实现.VC++中创建一个Internet Explorer实例包括要调用COM API CoCreateInstance ,指定第一个参数为 CLSID_InternetExplorer 。创建IE自动化实例不像创建包含webbrowser的Activex控件困难。你不需要实现容器或者site对象的必要接口。来看看如何容易的使用CoCreateInstance 创建IE实例吧。启动Visual C++, 新建MFC AppWizard (exe) 应用程序命名为 MfcAutoIE.选择dialog-based option, 认可其他缺省选项.现在加入如VbAutoIE中的控件到表单.对话框看起来如 6-21. 分派ID到对话框的各个控件。 确信控件TAB次序如 Figure 6-22. (tab 次序影响到radio按钮的工作)
Figure 6-21.MfcAutoIE dialog.Figure 6-22.MfcAutoIE dialog tab order.现在用右键菜单设置每一个隐藏radio按钮的Group ,属性设置如表 6-9.Table 6-9.Member Variables for MfcAutoIE Dialog ControlsControlTypeMember VariableHide radio button for AddressBarintm_nAddressBarEdit boxCStringm_strStatusTextHide radio button for MenuBarintm_nMenuBarHide radio button for StatusBarintm_nStatusBarHide radio button for ToolBarintm_nToolBar我们使用ClassWizard 为表 6-9 中的控件建立变量时,他们自动加入到 CMfcAutoIEDlg. 成员变量设置为-1. 编译MfcAutoIE Example之前我们设置编译的Directory次序属性编译之前,你需要处理一些重要任务:1. 确信你已经从MSDN中下载IE5的头文件和库文件。2.在Tools/Options 菜单的Directories页, 确信lib路径中包含Internet Explorer 5 和 Windows 2000库文件.载列表中。3.配置Include:略 现在我们加入代码使之工作。 首先你应当包含ExDisp.h到你的对话框头文件—MfcAutoIEDlg.h. ExDisp.h 是包含了WebBrowser接口和类ID的头文件.确信你已经从MSDN下载了最新的版本。建立一个private 或者protected 的数据类型,指向IWebBrowser2 的指针, 命名为 m_pInetExplorer. 如下protected: IWebBrowser2* m_pInetExplorer;现在在构造函数中初始化m_pInetExplorer 为NULL 。你必须也初始化COM. 放置一个CoInitialize 的COM API调用在构造函数。构造函数看起来应当如下: CMfcAutoIEDlg::CMfcAutoIEDlg(CWnd* pParent /*=NULL*/) : CDialog(CMfcAutoIEDlg::IDD, pParent), m_pInetExplorer(NULL){ //{{AFX_DATA_INIT(CMfcAutoIEDlg) m_strStatusText = _T(""); m_nAddressBar = -1; m_nMenuBar = -1; m_nStatusBar = -1; m_nToolBar = -1; //}}AFX_DATA_INIT //Note that LoadIcon does not require a subsequent DestroyIcon //in Win32. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
// Initialize COM CoInitialize(NULL);}建立一个析构函数,以便调用CoUninitialize API 函数用以反初始化 COM. 此处的析构函数:CMfcAutoIEDlg::~CMfcAutoIEDlg(){ // Uninitialize COM. // CoUninitialize();}在预备工作之后, 让我们开始实现具体的控制。首先为Start IE5 按钮建立一个消息循环. 通常,你可以使用ClassWizard建立消息循环处理句柄. 在此消息句柄, 采用 CoCreateInstance API 建立一个IE实例。 此处初建的Internet Explorer实例初始化为隐藏, 所以你必须使用Visible属性使他可见。为了导航到用户的主页,使用GoHome 方法。此处为消息处理句柄代码:void CMfcAutoIEDlg::OnStartIE5() { // If an instance of Internet Explorer has // not already been created, create one. // This instance will initially be hidden, // so make it visible by using the Visible // property. Also, navigate to the user's // home page by using the GoHome method. // if (m_pInetExplorer) MessageBox (_T("Only one instance of Internet Explorer is allowed.")); else { HRESULT hr; hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&m_pInetExplorer);
if (SUCCEEDED(hr)) { // Set the radio buttons to their correct values. SetRadioButtons();
m_pInetExplorer->put_Visible(VARIANT_TRUE); m_pInetExplorer->GoHome(); } }}在此代码中,我们首先检查是否IE的上一个实例已经建立。如果已经建立,将会显示一个错误消息框。(你仅仅能够启动一个IE的实例,随后你将可以看到如何检测IE窗口被关闭以便重置IE的数据成员。)如果一个IE的实例还未创建, CoCreateInstance 将CLSID_InternetExplorer 作为第一个参数被调用. (此类 ID 定义于ExDisp.h ,为Internet Explorer的唯一标示符.)第二个参数我们设定为NULL ,因为我们不希望此COM对象被聚合(be aggregated). 我们希望IE运行在一个单独的进程空间,所以我们指定第三个参数为特殊值 CLSCTX_SERVER .我们利用第四个参数指示哪一个接口我们将通过CoCreateInstance 调用创建一个COM对象后被创建。在此例中,我们将一直希望获得IWebBrowser2, 所以我们指定IID_IWebBrowser2 为第四个参数值。最后我们传送存储接口指针的变量. 对于此参数,你必须采用void类型传递一个指针的地址 (确信你传送的指针指向一个接口类型。)如果一个IE实例成功创建,名为SetRadioButtons 的成员变量被创建。这是一个protected 成员函数,检查当前地址栏、菜单条、工具条和状态条等的状态 ,用来设置radio 按钮组的状态。.为检查每一个的状态我们简单的获取属性关联的当前值 。C++ 应用中使用COM 没有包装类, 属性被引用为使用 get_ and put_ 方法.为检取每一个用户问题的状态,我们简单的调用每一个关联的(UI)项目的get_ 方法.除了 get_ToolBar外其他get_方法返回指向VARIANT_BOOL 数据类型,返回值指示用户接口是否可见或者隐藏。如果用户接口元素可见,将返回VARIANT_TRUE 。如果该项目是隐藏的,将返回VARIANT_FALSE 。这些值区别于TRUE 和FALSE 的用法.提醒当在Visual C++涉及VARIANT_BOOL , 你必须使用VARIANT_TRUE 或者VARIANT_FALSE 代替TRUE or FALSE. VARIANT_TRUE定义值0xffff, 而TRUE定义为1. 如果你比较VARIANT_TRUE 和TRUE, 你将发现在Vb中不匹配,你可以在涉及到VARIANT_BOOL. 使用true和false是由于VB替你实现了转换。get_ToolBar 方法不同于其他属性,因为它指向一个整型指针,所以我们如果发现返回非0,工具条可见。如果整型值是0,工具条将隐藏: 提醒如果一个属性只读, put_将不会出现。同样,如果一个属性只写,将不会出现get_方法。此处为 SetRadioButtons 方法的代码:void CMfcAutoIEDlg::SetRadioButtons(){ VARIANT_BOOL vtBool = VARIANT_TRUE;
// Get the current state of the AddressBar. // m_pInetExplorer->get_AddressBar(&vtBool); m_nAddressBar = (vtBool == VARIANT_TRUE) ? 1 : 0;
// Get the current state of the MenuBar. // m_pInetExplorer->get_MenuBar(&vtBool); m_nMenuBar = (vtBool == VARIANT_TRUE) ? 1 : 0;
// Get the current state of the StatusBar. // m_pInetExplorer->get_StatusBar(&vtBool); m_nStatusBar = (vtBool == VARIANT_TRUE) ? 1 : 0;

⑶ 智能浏览器内核是什么为什么那么难研发

浏览器内核(layout engine),也称为浏览器内核(web browser engine)、页面渲染引擎(rendering engine)或样版引擎,它是一种软件组件,负责获取标记式内容(如HTML、XML及图像文件等等)、整理信息(如CSS及XSL等),并将排版后的内容输出至显示器或打印机。所有网页浏览器、电子邮件客户端、电子阅读器以及其它需要根据表示性的标记语言(Presentational markup)来显示内容的应用程序都需要浏览器内核。
浏览器内核是一个浏览器最为核心的部分,比较难研发是理所当然的。

⑷ IE浏览器怎么越来越难用了!。

IE浏览器有十几年的历史,核心代码过于老旧维护难度比较大。微软都已经放弃更新。国内的双核浏览器如搜狗浏览器和QQ等针对国内情况进行了定制。比如搜狗集成了自己的flash插件不需要安装。高速模式基于chrome核心对新网页标准兼支持更好,兼容模式调用IE用于浏览老旧站点。

⑸ IE是用什么语言编程的

..... 楼上的好误导人哦。

你听谁说windows是VB做的?

windows上的应用产品都是基于MFC框架做的,即VC++;

而windows本身是基于 C语言和汇编语言做的。

其它操作系统比如 linux和unix基本上也是基于 C语言和部分汇编语言做的。

VB做小型应用,特别是有界面的小程序还是可以的,但做大型软件特别是操作系统级这样的,是不可能完成的任务。

VB没什么市场。处于上下两难的地界, 比软件的运行速度和效率肯定比不上C/C++,比开发速度、扩展性、和开源框架也不是java的对手。所以现代软件,特别是企业级软件一般要不就是C/C++,要不就是java

程序员为什么讨厌ie

因为,程序IE太垃圾了,基本上是小白用的。程序员要显示出他的专业性,所以得用高级的东西

⑺ 打开IE浏览器的时候,经常出现应用程序错误~

原因:是由于IE浏览器过多的缓存垃圾造成的。

1、首先鼠标右键单击IE浏览器,以管理员身份打开IE浏览器,

⑻ 为什么IE浏览器特别难用微软不会造浏览器

你可以说微软不会造浏览器,但是微软的浏览器还是有很多人比较喜欢的,原因在于使用起来很简单,至于之所以微软不是特别在乎浏览器的界面,是因为微软的核心业务是操作系统,浏览器只不过是操作系统中间的一环而不是核心。就如同生产汽车的企业,它未必会在意汽车轮胎该怎么造的道理是一样的。作为一个企业,你不可能把控整个产品的所有环节,要懂得把适当的利润分给其他企业,让大家和自己在同一条战线上,这样才可能做大做强。

⑼ IE需要编程技术不

IE是个浏览器软件,集成在Windows操作系统中,可以用浏览器浏览网页中的内容。如果你仅仅是浏览网页,那么使用浏览器就可以了,当然不一定使用IE浏览器,还有很多其他浏览器也挺好用。
但是如果你想开发一个网站,就需要学习编程技术了,常见的有JavaEE和PHP,近两年Node.JS也比较火。

⑽ IE6为什么会成为前端的噩梦

因为IE6已经被淘汰了,而前端在设计些代码的时候为了用户体验,还得各种考虑IE6是否兼容显示网页,如果IE6能直接不考虑,那么前端的工作量和难度会降低一些,所以称为前端的噩梦。

阅读全文

与为什么ie编程难相关的资料

热点内容
美食博主用什么app拍视频 浏览:812
ipone手机如何加密微信 浏览:354
自来水加密阀阀帽 浏览:431
华为交换机dhcp配置命令 浏览:315
androidbitmap缩小 浏览:271
单片机串口控制灯 浏览:84
大讯云服务器安装视频 浏览:784
华为算法领先世界 浏览:654
linux路由重启 浏览:566
php的模板编程 浏览:322
编译器原理与实现书 浏览:709
dos选择命令 浏览:18
apm固件编译到单片机 浏览:121
联通深蓝卡都包含什么app 浏览:266
如何判断网络服务器正常 浏览:652
路由器搭桥远端服务器地址是什么 浏览:518
编译动态库时会连接依赖库吗 浏览:710
淘宝手机加密是随机的吗 浏览:675
解压包子怎么装饰 浏览:588
四个数凑24算法 浏览:679