程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#利用msscript.ocx控件執行JS腳本

C#利用msscript.ocx控件執行JS腳本

編輯:C#入門知識

到微軟的網站上下載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 屬性,確定是否允許顯示用戶界面元素。

 

為了使控件更容易使用,用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>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved