你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用 C# 来调用 ActiveX web 浏览器控件在 Windows 窗体应用程序中加载到 Web 页上的某个 VBScript 函数

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 922275
简介
本文介绍如何使用 Microsoft Visual C# 网页上调用 Microsoft Visual Basic 脚本版本 (VBScript) 函数。具体来说, webbrowser 控件的 ActiveX 控件在 Windows 窗体应用程序中加载该 Web 页。

若要在"详细信息"部分中执行的过程,必须已经具有以下各项:注意这篇文章中的步骤仅适用于包含 ActiveX web 浏览器控件的 Windows 窗体应用程序。如果您在您的应用程序中使用托管的web 浏览器的 Windows 窗体控件,不执行过程在本文中。有关 Windows 窗体的web 浏览器控件的详细信息,请访问下面的 MSDN 网站:
更多信息
下面的过程演示如何调用 VBScript 函数加载到web 浏览器的 ActiveX 控件中的网页上。

将引用添加到 Microsoft HTML 对象库 (Mshtml.tlb)

您可以调用 VBScript 函数从 Windows 窗体应用程序中webbrowser 控件的 ActiveX 控件之前,您必须添加对 Microsoft HTML 对象库的引用。若要执行此操作,请按照下列步骤操作:
  1. 开始 Microsoft Visual Studio.NET 或 Microsoft Visual Studio 2005。
  2. 文件菜单中,指向打开,,然后单击项目

    注意在 Visual Studio 2005 中,单击项目中的解决方案
  3. 找到您想要打开时,该项目,然后单击打开
  4. 项目菜单上,单击添加引用
  5. 单击COM选项卡。
  6. 选择Microsoft HTML 对象库中,单击选择,然后单击确定

    注意:在 Visual Studio 2005 中, Microsoft HTML 对象库中选择,然后单击确定

添加一个方法来调用 VBScript 函数

添加到 Microsoft HTML 对象库的引用之后,可以添加一个方法,调用 VBScript 函数加载到web 浏览器的 ActiveX 控件中的网页上。

下面的代码示例演示如何调用 VBScript 函数加载到web 浏览器的 ActiveX 控件中的网页上。此代码示例使用 Microsoft HTML 对象库中的IHTMLDocument.Script属性来访问脚本对象。该代码示例使用InvokeMember方法来调用 VBScript 函数。

注意替换 axWebBrowser1 在下面的代码与应用程序中发生webbrowser 控件的 ActiveX 控件实例的名称。
private object InvokeScript(string sFunction,object[] oParameters){    object oReturn = null;    mshtml.IHTMLDocument Doc = (mshtml.IHTMLDocument)this.axWebBrowser1.Document;    Type ScriptEng = Doc.Script.GetType();    try    {        oReturn = ScriptEng.InvokeMember(sFunction, System.Reflection.BindingFlags.InvokeMethod, null, Doc.Script, oParameters);    }    catch(Exception ex)    {        MessageBox.Show("Error invoking function: " + ex.Message,"InvokeScript - Exception", MessageBoxButtons.OK, MessageBoxIcon.Warning);    }    return oReturn;}
通过 VBScript 函数和参数的名称,可调用此方法。下面的代码示例演示如何使用上面的代码示例调用的参数值为 100 的 VBScript 函数。

注意VBScript 函数命名为myVBScriptFunction
String myFunction = "myVBScriptFunction";Object[] myParameters = { 100 };InvokeScript(myFunction, myParameters);
参考
有关web 浏览器的 ActiveX 控件的详细信息,请访问下面的 MSDN 网站:

警告:本文已自动翻译

属性

文章 ID:922275 - 上次审阅时间:09/27/2015 05:28:00 - 修订版本: 2.0

Microsoft Visual C# 2005 Express Edition, Microsoft Visual C# .NET 2003 标准版, Microsoft Visual C# .NET 2002 标准版

  • kbwindowsforms kbhowto kbinfo kbmt KB922275 KbMtzh
反馈