请问Process.Start的路径问题

qingqing08 2009-01-11 11:33:33
请问我打开一个应用程序a.exe
在a 中执行了OpenFileDialog的按钮后,
使得当前的环境路径不在a所在的文件下
那么此时我希望在a中启动b.exe
Process.Start("b.exe");
会提示找不到应用程序,应该是路径不对,请问我该怎么改呢?
ps:
a.exe的路径不是固定的,机器不同,所在的路径也不同.
...全文
858 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianthinkover 2009-01-12
  • 打赏
  • 举报
回复
又涨知识了
yanlongwuhui 2009-01-12
  • 打赏
  • 举报
回复
支持1楼的方法
或是可以:
在执行OpenFileDialog前通过IO.Directory.GetCurrentDirectory记录当前路径,再在调用前通过IO.Directory.SetCurrentDirectory(路径)重新设置当前路径
qingqing08 2009-01-12
  • 打赏
  • 举报
回复
继续顶
wenrenhua08 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 qingqing08 的帖子:]
请问我打开一个应用程序a.exe
在a 中执行了OpenFileDialog的按钮后,
使得当前的环境路径不在a所在的文件下
那么此时我希望在a中启动b.exe
Process.Start("b.exe");
会提示找不到应用程序,应该是路径不对,请问我该怎么改呢?
ps:
a.exe的路径不是固定的,机器不同,所在的路径也不同.
[/Quote]

so this.
noenoughmemory 2009-01-12
  • 打赏
  • 举报
回复
帮顶
greystar 2009-01-12
  • 打赏
  • 举报
回复
没有明确路径的话,会从几个固定的地方,如当前,system32等目录找.明白这个你的知道应该如何做了.
长沙三毛 2009-01-12
  • 打赏
  • 举报
回复
Process.Start(Application.StartupPath + "\b.exe");
注意,如果启动文件夹在根路径,如c:\着上述b前没有\
qingqing08 2009-01-12
  • 打赏
  • 举报
回复
System.Environment.CurrentDirectory = Application.StartupPath ;
Process.Start("\b.exe");
嘿嘿,问题解决了
qingqing08 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hulihui 的回复:]
Process.Start(Application.StartupPath + "\b.exe");
注意,如果启动文件夹在根路径,如c:\着上述b前没有\
[/Quote]

这里要是有\的话,会提示
错误错误 CS1009: 无法识别的转义序列
这里的启动文件夹并不是在根路径

大牛再赐教啊

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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