日期:2014-05-17  浏览次数:21006 次

C#如何接收JS传递过来的参数。
因为之间我一直是做webfrom,现在业务需要,要调用一个EXE。
function PrintBarcode(PrintStr)
  {
     var filespec = "c:\\条码打印CS\\MaterialBarCode.exe";
     var fso, s = filespec;
     fso = new ActiveXObject("Scripting.FileSystemObject");
      if (!fso.FileExists(filespec)) {
                        alert("路径C:\\下不存在条码打印程序,请先下载并加压到指定路径!");
                        return false;
                    }
        else
            {  
                 var objShell = new ActiveXObject("wscript.shell");
                 objShell.run("E:\\杭州杭和软件\\条码打印CS\\MaterialBarCode.exe " + PrintStr);
                 objShell = null;
             }
  }

这个代码我测试过,假如启用ActiveX,是可以执行EXE。但是在winfrom接收传递过来的参数,winfrom里面代码不会写。有没有可以帮助。

------解决方案--------------------
 static void Main(string[] args)
{
   //试试这个,如果真的传过来了 args.Length > 0 
    string param1= args[0];
    string param2= args[1];
}
------解决方案--------------------
参数以空格分隔(如果参数中本身包含空格,就用双引号括起),EXE路径也应括起,如
PrintStr = "true"
//多个参数
//PrintStr = string.Join(空格, new string[]{"true", "\"abc带空格\"", "1"}) 
objShell.run("\"E:\\杭州杭和软件\\条码打印CS\\MaterialBarCode.exe\"空格" + PrintStr);