C#利用msscript.ocx控件执行JS脚本
到微软的网站上下载Windows Script Control,它是一个ActiveX(R) 控件,所以在.NET中使用我Interop了一下。下载安装完成后,新建一个C#的Windows应用程序项目,在解决方案资源管理器中选中引用节点,右键点击选择添加引用菜单,弹出添加引用对话框,单击浏览找到安装Windows Script Control的目录,选取msscript.ocx文件确定。那么在引用节点下会增加一个MSScriptControl组件,下面是他Interop后的所有对象。
ScriptControl 对支持 ActiveX(TM) Script 的宿主 Script 引擎提供简单接口。接下来我们对被转化成ScriptControlClass类的ScriptControl的属性和方法进行一些说明。
属性
描述
AllowUI
应用于 ScriptControl 本身或 Scirpt 引擎显示的用户界面元素,可读写。
CodeObject
返回对象,该对象用于调用指定模块的公用成员。只读。
Error
返回 Error 对象,其中包含所发生的最后一个错误的相关详细信息。只读。
Language
设置或返回正在使用的 Script 语言名称。可读写。
Modules
为 ScriptControl 对象返回模块集合。只读。
Procedures
返回在指定模块中定义的过程集合。只读。
SitehWnd
设置或返回窗口的 hWnd,通过执行 Script 代码,此窗口用于显示对话框和其他用户界面元素。可读写。
State
设置或返回 ScriptControl 对象的模式。可读写
Timeout
设置或返回时间(毫秒),此时间后用户可选择中止 Script 代码的执行或允许代码继续执行。可读写。
UseSafeSubset
设置或返回 Boolean 值,指明宿主应用程序是否有保密性要求。如果宿主应用程序需要安全控制,则 UseSafeSubset 为 True,否则为 False。可读写。
方法
方法
描述
AddCode
向模块添加指定代码。可多次调用 AddCode 方法
AddObject
使主机对象模型对 Script 引擎可用
Eval
计算表达式并返回结果
ExecuteStatement
执行指定的语句
Reset
放弃所有已经添加到 ScriptControl 中的 Script 代码和对象
Run
运行指定过程
事件
事件
描述
Error
出现运行时错误时,发生此事件
Timeout
当超出了 Timeout 属性指定的时间且用户在结果对话框中选定了 End 时,发生此事件
说明:
AllowUI 属性如果设置为False,则显示对话框之类的语句不起作用,如在 VBScript 中MsgBox 语句,JavaScript中的alert等,并且如果执行的脚本超出TimeOut设置的毫秒数,也不会跳出超出时间提醒的对话框,反之则相反;重新设 置 Language 属性会清空AddCode加载的代码;对于TimeOut属性,发生超时时,ScriptControl 检查对象的 AllowUI 属性,确定是否允许显示用户界面元素。
属性
方法
事件
说明:
AllowUI 属性如果设置为False,则显示对话框之类的语句不起作用,如在 VBScript 中MsgBox 语句,JavaScript中的alert等,并且如果执行的脚本超出TimeOut设置的毫秒数,也不会跳出超出时间提醒的对话框,反之则相反;重新设 置 Language 属性会清空AddCode加载的代码;对于TimeOut属性,发生超时时,ScriptControl 检查对象的 AllowUI 属性,确定是否允许显示用户界面元素。
为了使控件更容易使用,用ScriptEngine类封装一下,下面是完整代码:
代码
using System;
using MSScriptControl;
using System.Text;
namespace LCS.Web
{
/// <summary>
/// 脚本类型
/// </summary>
public enum ScriptLanguage
{
/// <summary>
/// JScript脚本语言
/// </summary>
JScript,
/// <summary>
/// VBscript脚本语言
/// </summary>
VBscript,
/// <summary>补充:软件开发 , C# ,
上一个:c#中正则表达式大全
下一个:C#操作Excel(读取)
- 更多JS疑问解答:
- 几个验证11位手机号码格式的js代码
- js把图片转换成 base64代码
- js把base代码转换成图片
- JS 将 base64编码的图片转化为图片文件
- js中的定时器
- js如何获得FCKeditor控件的值
- 用js限制投票的cookie .目前设置的为:<input type="" class="" onclick="'window.location...
- JS验证,这块“牛皮”反复修改都不能实现
- 在JS中使用DOM模型
- 如何用JS 获取本地文件夹的文件列表
- js中new 了两个Object数组。怎么样将数组内容合并,重复的内容?
- 求实现自动生成图片缩略图的JS代码
- JS脚本网页问题
- js,代码中"object"和"Object"区别?
- js+flash实现网页图片切换效果,出现边框,单击激活此控件。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,
部分文章来自网络,