Process.Start(string filename)
对 .exe 文件有什么权限限制吗?为什么有的 .exe 可以运行起来,有的运行了没有反映?

解决方案 »

  1.   

    一般不会出现你说的情况,除非这个不存在,或者是后台的,你感觉不到而已!msdn有一段说明:当进程组件的 StartInfo 属性 (Property) 的 UseShellExecute 为 true 时,请确保已通过设置 main() 方法的属性 (Attribute) [STAThread] 对应用程序设置了线程模型。否则,托管线程可能处于 unknown 状态或进入 MTA 状态,而后一种状态会与设置为 true 的 UseShellExecute 冲突。一些方法要求单元状态不为 unknown。如果未显式设置状态,那么当应用程序遇到这种方法时,它默认为 MTA,而一旦进行了设置,则无法更改单元状态。但是,当操作系统外壳程序管理线程时,MTA 将导致引发异常。
      

  2.   

    如果你的net用户有运行这个exe的权限
    就不会有这种问题
      

  3.   

    谢谢sdl2005lyx() ,但是
    Process.Start("c:\windows\system32\cmd.exe", "/c c:\windows\system32\cscript //nologo c:\ToPDF.js c:\test.xls c:\")
    这段代码在web asp.net 应用程序中运行,在某些机器上可以正常运行,在我另一台服务器上运行就没有任何反映,是为什么呢?我在cmd命令窗口运行了c:\windows\system32\cscript //nologo c:\ToPDF.js c:\test.xls c:\就正常输出了结果,这又是什么原因?
      

  4.   

    谢谢superxiaomm(小美)
    是什么权限?哪里设置?我用的操作系统是
    Windows XP 2003 Enterprise Edition/Windows XP Professional