System.Diagnostics.Process p;
p.StartInfo.CreateNoWindow();
本身就支持打开一个进程不创建窗口

解决方案 »

  1.   

    MSScriptControl.IScriptControl sc = new MSScriptControl.ScriptControlClass();
                sc.Language = "javascript";
                object val=sc.Eval("3*Math.sqrt(13)-5");
                Console.WriteLine(val);
      

  2.   

    计算表达式有很多种方法,不一定要通过编译代码//先在项目中添加COM引用Microsoft Script Control 1.0
    using MSScriptControl;ScriptControl vScriptControl = new ScriptControl();
    vScriptControl.Language = "JavaScript";
    Text = string.Format("{0}", vScriptControl.Eval("3*Math.sqrt(13)-5").ToString());
      

  3.   

    copico(北北) :
    你的方法不行(我也很奇怪为何不行)
    可以这样:
    p.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
      

  4.   

    我还以为这样可以打开一个窗口,不过还是有两个窗口:
    Process p = new Process();
    p.StartInfo.FileName = "cmd";
    p.StartInfo.Arguments = "/k dir";
    p.StartInfo.CreateNoWindow = true;
    p.Start();
    p.StartInfo.Arguments = "/k pause";
    p.Start();真不知CreateNoWindow怎么用
      

  5.   

    首先建立两个栈(数字栈和操作符栈)。LOOP:从左到右依次读取字符,遇到数字将数字压入数字栈,遇见操作符看看操作符栈是否为空,如果操作符栈不为空,就和操作符栈顶的元素比较,如果该参作符的优先级高,那从数字栈弹出两个数字,用该操作符进行运算。如果该操作符的优先级比较低,那如操作符栈,从LOOP开始循环
      

  6.   

    你可以用 数据库查询的方式实现:SQL语句:
    --------------------
    SELECT 3*Sqrt(13)-5
    结果
    5.8166538263919669