C#对js解密时运行js函数
多参数的参考注释部分
需提前在COM中添加Microsoft Scipt Control 1.0的库,如下

private object UseJavaScrpt(string funName,string argument)
{
//读取js文件路径
string path = AppDomain.CurrentDomain.BaseDirectory + "shah.js";
//加载js文件的所有内容 保存到变量str2中
string str2 = System.IO.File.ReadAllText(path);
//调用js方法,如果该js方法有参数,就传呗
//string fun = string.Format(@"sayHello('{0}','{1}','{2}')", 23, 34, "+");//多参数
string fun = string.Format(@"{0}('{1}')", funName,argument);
//执行,并得到返回结果
object result = ExecuteScript(fun, str2);
Trace.WriteLine(fun);
Trace.WriteLine("解析:" + result);
return result;
}
/// <summary>
/// 执行JS
/// </summary>
/// <param name="sExpression">参数体</param>
/// <param name="sCode">JavaScript代码的字符串</param>
/// <returns></returns>
private object ExecuteScript(string sExpression, string sCode)
{
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";
scriptControl.AddCode(sCode);
try
{
return scriptControl.Eval(sExpression);
}
catch (Exception ex)
{
}
return null;
}