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

文章翻译 文章翻译
文章编号: 922275 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文介绍如何使用 Microsoft Visual C# 调用在 Web 页上的 Microsoft Visual Basic 脚本版 (VBScript) 函数。专门,在 Windows 窗体应用程序中的 ActiveX web 浏览器 控件中加载网页。

若要执行该过程"更多信息"一节中,必须已经具有以下各项:
  • Visual C# Windows 窗体应用程序包含一个 ActiveX web 浏览器 控件。

    有关如何将 ActiveX 控件添加到 Windows 窗体应用程序的详细信息请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:
    http://msdn2.microsoft.com/en-us/library/1w560tdz.aspx
  • 包含至少一个 VBScript 函数的网页。

    有关 VBScript 的详细信息,请访问下面的 MSDN 网站:
    http://msdn2.microsoft.com/en-us/library/t0aew7h6.aspx
注意在这篇文章中过程仅应用于包含一个 ActiveX web 浏览器 控件的 Windows 窗体应用程序。如果要在您的应用程序中使用托管的 Windows 窗体 web 浏览器 控件,不在本文中执行该过程。有关在 Windows 窗体 web 浏览器 控件的详细信息,请访问下面的 MSDN 网站:
http://msdn2.microsoft.com/en-us/library/2te2y1x6.aspx

更多信息

下面的过程演示如何调用 VBScript 函数中的 ActiveX web 浏览器 控件加载到 Web 页上。

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

必须将添加到 Microsoft HTML 对象库的引用可以从 Windows 窗体应用程序中的 ActiveX web 浏览器 控件调用 VBScript 函数。若要这样做,请按照下列步骤操作:
  1. 启动 Microsoft Visual Studio.net 或 Microsoft Visual Studio 2005。
  2. 文件 菜单上指向 打开,然后单击 项目

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

    注意在可视有关 Studio 的 2005 年选择 Microsoft HTML 对象库,然后单击 确定

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

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

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

注意axWebBrowser1 在下面的代码替换您的应用程序中发生的 ActiveX web 浏览器 控件实例的名称。
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 函数和参数的名称来调用此方法。下面的代码示例演示如何使用上面的代码示例中调用 VBScript 函数的参数值为 100。

注意VBScript 函数名为 myVBScriptFunction
String myFunction = "myVBScriptFunction";
Object[] myParameters = { 100 };
InvokeScript(myFunction, myParameters);

参考

有关在 web 浏览器 的 ActiveX 控件的详细信息,请访问下面的 MSDN 网站:
http://msdn2.microsoft.com/en-us/library/Aa752040.aspx

属性

文章编号: 922275 - 最后修改: 2007年11月22日 - 修订: 1.8
这篇文章中的信息适用于:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 标准版
  • Microsoft Visual C# .NET 2002 标准版
关键字:?
kbmt kbwindowsforms kbhowto kbinfo KB922275 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 922275
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com