winform下运行某JS脚本

我们知道,在Webform下面调用JS文件是非常方便的,只需要在html文件下面引入如下代码<script type="text/javascript" src="des.js"></script>即可调用JS文件里面的函数。但在Winform时,有时候我们也需要调用别人写好的JS脚本文件,有人又说了,JS反正是开源的,代码都可以看得到,直接给翻译过来就行了,但是如果JS内容很复杂,有些甚至进行了混淆,我们就很难翻译了,直接调用就很有必要了。下面是完整的调用过程。

步骤如下:

1、首先在.NET环境下面,添加COM引用Microsoft Script Control1.0

2、编写执行JS代码的方法,如下:

/// <summary>
/// 执行JS
/// </summary>
/// <param name="sExpression">参数体</param>
/// <param name="sCode">JavaScript代码的字符串</param>
/// <returns></returns>
private string ExecuteScript(string sExpression, string sCode)
{
  MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
  scriptControl.UseSafeSubset = true;
  scriptControl.Language = "JScript";
  scriptControl.AddCode(sCode);
  try
  {
    string str = scriptControl.Eval(sExpression).ToString();
    return str;
  }
  catch (Exception ex)
  {
    string str = ex.Message;
  }
  return null;
}

3、调用如下:

string path = AppDomain.CurrentDomain.BaseDirectory + "des.js";
//加载js文件的所有内容 保存到变量str2中
string str2 = System.IO.File.ReadAllText(path);
//调用js方法,如果该js方法有参数,就传呗
string fun = string.Format(@"strEnc('{0}','{1}','{2}','{3}')",text, key, "", "");
//执行,并得到返回结果
string result = ExecuteScript(fun, str2);
return result;

posted @ 2022-03-03 09:57  一路向红  阅读(440)  评论(0)    收藏  举报