process.start()为什么创建不了进程(附代码)

danny_2007 2009-04-30 01:49:23
public static bool DeZip(string RarFilePath, string OuputFileDir)
{
bool result = false;
String Rar;
RegistryKey Reg;
Object Obj;
String Info;
ProcessStartInfo StartInfo;
Process Process;
try
{
System.Threading.Thread.Sleep(30);
Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
Obj = Reg.GetValue("");
Rar = Obj.ToString();
Reg.Close();
Rar = Rar.Substring(1, Rar.Length - 7);
Info = " X " + RarFilePath + " " + OuputFileDir;
StartInfo = new ProcessStartInfo();
StartInfo.FileName = Rar;
StartInfo.Arguments = Info;
StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process = new Process();
Process.StartInfo = StartInfo;
System.Diagnostics.Process.Start(StartInfo);
result = true;
System.Threading.Thread.Sleep(500);
}
catch (Exception) { }
return result;
}

程序运行到System.Diagnostics.Process.Start(StartInfo)这一句就不动了。请大家帮忙解决下
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
danny_2007 2009-04-30
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start(StartInfo)这个话很奇怪的,电脑重启了就可以运行,如果多次后就是出现System.Diagnostics.Process.Start不动了
vrhero 2009-04-30
  • 打赏
  • 举报
回复
\\ClassesRoot\Applications\WinRar.exe\Shell\Open\Command 返回的是一个带参数的命令行语句...

Process不允许这种格式...你要自己解析一下把可执行文件和参数分离开...
danny_2007 2009-04-30
  • 打赏
  • 举报
回复
它是一个可执行程序 是这个C:\Program Files\WinRAR\WinRAR.exe
oooooooooooooaaa 2009-04-30
  • 打赏
  • 举报
回复
StartInfo.FileName = Rar;
不是一个可执行程序吧

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧