国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C# > 正文

在C#中調(diào)用VBScript、javascript等腳本的實現(xiàn)代碼

2020-01-24 03:45:24
字體:
供稿:網(wǎng)友
一.使用MSScriptControl
到微軟的網(wǎng)站上下載Windows Script Control,它是一個ActiveX(R) 控件,所以在.NET中使用我Interop了一下。下載安裝完成后,新建一個C#的Windows應(yīng)用程序項目,在解決方案資源管理器中選中引用節(jié)點,右鍵點擊選擇添加引用菜單,彈出添加引用對話框,單擊瀏覽找到安裝Windows Script Control的目錄,選取msscript.ocx文件確定。那么在引用節(jié)點下會增加一個MSScriptControl組件,下面是他Interop后的所有對象。


ScriptControl 對支持 ActiveX(TM) Script 的宿主 Script 引擎提供簡單接口。接下來我們對被轉(zhuǎn)化成ScriptControlClass類的ScriptControl的屬性和方法進(jìn)行一些說明。
屬性
AllowUI 屬性:應(yīng)用于 ScriptControl 本身或 Scirpt 引擎顯示的用戶界面元素,可讀寫。
CodeObject 屬性:返回對象,該對象用于調(diào)用指定模塊的公用成員。只讀。
Error 屬性:返回 Error 對象,其中包含所發(fā)生的最后一個錯誤的相關(guān)詳細(xì)信息。只讀。
Language 屬性:設(shè)置或返回正在使用的 Script 語言名稱。可讀寫。
Modules 屬性:為 ScriptControl 對象返回模塊集合。只讀。
Procedures 屬性:返回在指定模塊中定義的過程集合。只讀。
SitehWnd 屬性:設(shè)置或返回窗口的 hWnd,通過執(zhí)行 Script 代碼,此窗口用于顯示對話框和其他用戶界面元素??勺x寫。
State 屬性:設(shè)置或返回 ScriptControl 對象的模式。可讀寫。
Timeout 屬性:設(shè)置或返回時間(毫秒),此時間后用戶可選擇中止 Script 代碼的執(zhí)行或允許代碼繼續(xù)執(zhí)行??勺x寫。
UseSafeSubset 屬性:設(shè)置或返回 Boolean 值,指明宿主應(yīng)用程序是否有保密性要求。如果宿主應(yīng)用程序需要安全控制,則 UseSafeSubset 為 True,否則為 False??勺x寫。
方法
AddCode 方法:向模塊添加指定代碼。可多次調(diào)用 AddCode 方法。
AddObject 方法:使主機對象模型對 Script 引擎可用。
Eval 方法:計算表達(dá)式并返回結(jié)果。
ExecuteStatement 方法:執(zhí)行指定的語句。
Reset 方法:放棄所有已經(jīng)添加到 ScriptControl 中的 Script 代碼和對象。
Run 方法:運行指定過程。
事件
Error 事件:出現(xiàn)運行時錯誤時,發(fā)生此事件。
Timeout 事件:當(dāng)超出了 Timeout 屬性指定的時間且用戶在結(jié)果對話框中選定了 End 時,發(fā)生此事件。
補充幾點
AllowUI 屬性如果設(shè)置為false,則顯示對話框之類的語句不起作用,如在 VBScript 中MsgBox 語句,javascript中的alert等,并且如果執(zhí)行的腳本超出TimeOut設(shè)置的毫秒數(shù),也不會跳出超出時間提醒的對話框,反之則相反;重新設(shè)置 Language 屬性會清空AddCode加載的代碼;對于TimeOut屬性,發(fā)生超時時,ScriptControl 檢查對象的 AllowUI 屬性,確定是否允許顯示用戶界面元素。
如果讀者需要更詳細(xì)的了解,可以查看MSDN文檔。
為了使控件更容易使用,我用一個ScriptEngine類包裝了一下,下面是完整代碼:
復(fù)制代碼 代碼如下:

using System;
using MSScriptControl;
using System.Text;
namespace ZZ
{
/// <summary>
/// 腳本類型
/// </summary>
public enum ScriptLanguage
{
/// <summary>
/// JScript腳本語言
/// </summary>
JScript,
/// <summary>
/// VBscript腳本語言
/// </summary>
VBscript,
/// <summary>
/// javascript腳本語言
/// </summary>
javascript
}
/// <summary>
/// 腳本運行錯誤代理
/// </summary>
public delegate void RunErrorHandler();
/// <summary>
/// 腳本運行超時代理
/// </summary>
public delegate void RunTimeoutHandler();
/// <summary>
/// ScriptEngine類
/// </summary>
public class ScriptEngine
{
private ScriptControl msc;
//定義腳本運行錯誤事件
public event RunErrorHandler RunError;
//定義腳本運行超時事件
public event RunTimeoutHandler RunTimeout;
/// <summary>
///構(gòu)造函數(shù)
/// </summary>
public ScriptEngine():this(ScriptLanguage.VBscript)
{
}
/// <summary>
/// 構(gòu)造函數(shù)
/// </summary>
/// <param name="language">腳本類型</param>
public ScriptEngine(ScriptLanguage language)
{
this.msc = new ScriptControlClass();
this.msc.UseSafeSubset = true;
this.msc.Language = language.ToString();
((DScriptControlSource_Event)this.msc).Error += new DScriptControlSource_ErrorEventHandler(ScriptEngine_Error);
((DScriptControlSource_Event)this.msc).Timeout += new DScriptControlSource_TimeoutEventHandler(ScriptEngine_Timeout);
}
/// <summary>
/// 運行Eval方法
/// </summary>
/// <param name="expression">表達(dá)式</param>
/// <param name="codeBody">函數(shù)體</param>
/// <returns>返回值object</returns>
public object Eval(string expression,string codeBody)
{
msc.AddCode(codeBody);
return msc.Eval(expression);
}
/// <summary>
/// 運行Eval方法
/// </summary>
/// <param name="language">腳本語言</param>
/// <param name="expression">表達(dá)式</param>
/// <param name="codeBody">函數(shù)體</param>
/// <returns>返回值object</returns>
public object Eval(ScriptLanguage language,string expression,string codeBody)
{
if(this.Language != language)
this.Language = language;
return Eval(expression,codeBody);
}
/// <summary>
/// 運行Run方法
/// </summary>
/// <param name="mainFunctionName">入口函數(shù)名稱</param>
/// <param name="parameters">參數(shù)</param>
/// <param name="codeBody">函數(shù)體</param>
/// <returns>返回值object</returns>
public object Run(string mainFunctionName,object[] parameters,string codeBody)
{
this.msc.AddCode(codeBody);
return msc.Run(mainFunctionName,ref para
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
av福利在线播放| 精品国产高清a毛片无毒不卡| 欧美在线中文| 国产一区二区三区四区尤物| 999在线视频| 日本中文字幕在线看| 在线一区二区三区精品| 久久国产热视频| 一本大道久久精品| 国产视频xxx| 国产麻豆一级片| 欧美亚洲系列| av男人的天堂网| 国产精品视频h| 在线中文av| 国产日本在线| 成年网在线观看免费观看网址| 在线观看免费高清完整| 国产精彩视频在线观看免费蜜芽| 亚洲欧美综合乱码精品成人网| 国产精品毛片一区二区三区四区 | 中文字幕在线影视资源| wwww亚洲| 久久久久久91精品色婷婷| 在线观看的网站你懂的| 精品视频在线一区二区| 国产日韩网站| 最近中文av字幕在线中文| 国产精选在线观看| 国产福利视频在线| 99久热re在线精彩视频| 亚洲精品视频区| 老司机在线视频二区| 欧美日韩在线视频免费观看| 黄色毛片在线| 2020国产在线视频| 中文岛国精品亚洲一区| 在线国产一级| 中文字幕在线影视资源| 国产福利视频在线| a级片国产精品自在拍在线播放| 亚洲精品影院在线| 夜色资源网av在先锋网站观看| 亚洲视频手机在线观看| 国产在线一区二区视频| 国产激情在线| 麻豆视频国产| 国产成人亚洲欧美电影| 男女午夜视频在线观看| 中文字幕久热在线精品| 国产精品一区二区三区视频网站| 最近最好的中文字幕2019免费 | 天天艹天天操| 国产资源在线看| 999在线视频| 天天插天天射| 国产精品白浆视频免费观看| 三级小说一区| 国产高清在线观看| 国产尤物视频| 天天插天天狠天天透| 国产精品扒开做爽爽爽的视频| 国产黄色av免费看| 超碰在线人人| 亚洲欧美综合乱码精品成人网| 成人欧美亚洲| 久热中文字幕精品视频在线| 精品无人区乱码1区2区3区免费| 国产在线www| 九九热在线播放| 99精品老司机免费视频| 国产一区二区影视| 中文字幕不卡免费视频| 毛片视频免费观看| 日本一本久久| 思思99精品视频在线观看| av高清在线| 99热免费观看| 91桃色在线| 亚洲综合在线网| 亚洲字幕成人中文在线观看| 国产xxxx做受性欧美88| 国产探花视频在线观看| 中中文字幕av在线| 最新亚洲精品国自产在线观看| av男人的天堂网| jizz国产| 日韩av成人| 国产在线观看色| 国产视频一二区| 精品无人区乱码1区2区3区免费| 国产啊啊啊视频在线观看| 在线视频观看你懂的| 国产青青草在线| 国产精品臀控福利在线观看| 日本黄色免费网址| www.三区| 四虎成人精品在永久在线观看| 精品一二三四| 亚洲精品久久久成人| 国产网红在线| 国产麻豆综合视频在线观看| 美女国产在线| 老鸭窝av在线| 久草亚洲一区| 丁香婷婷激情| 尤物网站在线| 国产wwww| 亚洲精品在线播放视频| av在线1区2区| 欧美人成在线观看网站高清| 免费不卡中文字幕视频| 九九在线观看免费视频| 国产在线播放av| 国产三级av在线| 最近中文字幕av免费高清| 国产精选在线视频拍拍拍| 国产字幕在线看| 国产美女在线一区二区三区| 午夜免费福利在线观看| 国产黄色片中文字幕| 2019中文字幕在线电影免费| 亚洲综合激情六月婷婷在线观看| 日本三级视频网站| 99热在线观看免费| 精品麻豆国产| 免费午夜一级| 中文字幕亚洲精品视频| av免费在线播放| 丁香婷婷激情| 国产经典自拍视频在线观看| 日本免费黄色| 国产精品乱码一区二区三区视频| 一级二级在线观看| 国产一级黄色电影| 白浆爆出在线观看| 国产福利资源| 五月婷婷在线观看| 开心婷婷激情五月| 国产福利电影在线观看| 国产在线色视频| av在线播放国产| 国产人成精品| 国产女王在线**视频| a视频在线观看免费| 欧美色欧美亚洲另类二区精品 | 国产精品入口麻豆免费观看 | 日本在线观看| 国产黄色在线看| 中文字幕在线观看播放| 久久一本精品| 日本国产在线| 羞羞视频在线观看免费| 国产精品第八页| 国产精品一二三区视频| 青青草视频在线观看| 国产精品伦一区二区三区视频| 成人超碰在线| 久草一本av| 牛牛精品视频在线| 日本欧洲一区| av福利在线| 在线免费观看你懂的| 国产一级片在线| 国产网红在线观看| 国产精品白浆流出视频| 在线中文av| gogo在线高清视频| 久久国产综合视频| 成人免费一区二区三区牛牛| 国产中文在线| 九九热在线视频免费观看| 丁香在线视频| 国产欧美一区二区三区小说| 国产激情三区| 亚洲精品男人| 国产中文字幕在线观看| **三级三级97片毛片| 国产高清在线观看| 伊人免费在线| 久久久久久久久亚洲精品| **三级三级97片毛片| 在线中文资源天堂| 免费a级人成a大片在线观看| 91av久久| 亚洲成人av高清| 在线观看国产视频| 久热av在线| 91最新在线| 国产乱码在线| 亚洲国产精华液| 国产精选在线视频拍拍拍| 精品入口麻豆传煤| 美女免费视频黄| 国产wwww| 91超碰免费在线| 午夜在线视频| 国产精品日日爱| 九色视频网站| 四虎成人欧美精品在永久在线|