当前位置: 移动技术网 > IT编程>开发语言>c# > c#使用process.start启动程序报错解决方法

c#使用process.start启动程序报错解决方法

2019年07月18日  | 移动技术网IT编程  | 我要评论

出错信息:

复制代码 代码如下:

unknown error (0xffffffff)
at system.diagnostics.process.startwithshellexecuteex(processstartinfo startinfo)
at system.diagnostics.process.start()
at system.diagnostics.process.start(processstartinfo startinfo)
at system.diagnostics.process.start(string filename, string arguments)
at processstart.form1.start()
[/code}

出错情景:
我们发现大多数情况下,c#调用process.start根本不会出错。这个错误通常出现在当你使用local system帐号运行程序时,例如我们有一个windows服务,此服务调用process.start创建新进程时,新进程及其所有的子进程都是以system帐号运行的。这时调用process.start就有可能出现此错误,只是有可能,其实在我们那么多机器上只有一台运行windows 2003的服务器出现了这个错误。可能与系统设置有关,深层原因有待考察。

解决方法:
只要修改代码,设置processstartinfo的useshellexecute=false即可

[code]
processstartinfo psi = new processstartinfo();
psi.filename = exepath;
psi.useshellexecute = false;
psi.createnowindow = true;
process.start(psi);

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网