尝试从另一个内部启动Visual Studio C#程序

时间:2011-04-11 18:16:39

标签: c# visual-studio-2008 visual-studio-2010

我很难获得用VS 2008 C#编写的Windows程序来启动另一个类型的程序。我已经提供了一个主程序,为您提供启动其他VS 2008 C#程序的能力。选择其中一个时,以下代码用于启动:

System.Diagnostics.Process.Start(@“C:\ Documents and Settings \ rat \ My Documents \ Visual Studio 2008 \ Projects \ PV_002_082708 \ PV_001 \ PV_001 \ bin \ Debug \ PV.exe”);

它可以工作,但每个用户都有不同的路径。显示的路径适用于我的电脑。代码必须知道每个人程序的安装位置!在过去,我可以轻松地调用位于C:\ Program Files位置的程序,因为这是MS Package&部署程序放了程序。 VS 2008/2010不会把它们放在那里!

我确信我不了解Visual Studio 2008/2010,知道是否有解决方法,所以任何帮助都会非常感激。

3 个答案:

答案 0 :(得分:0)

System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Windows.Forms.Application.StartupPath, "PV.exe"));

假设程序在启动的应用程序的路径中。

...或

System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), @"Visual Studio 2008\Projects\PV_002_082708\PV_001\PV_001\bin\Debug\PV.exe"));

假设你想从它的位置打开项目。

答案 1 :(得分:0)

创建安装包后,您可以将安装路径设置为用户无法更改的某个固定路径,而不是使用代码中的安装路径(用户不太友好,但可以使用)或插入用户选择的路径将值放入注册表并从那里获取它。

答案 2 :(得分:0)

可能想看看这个帖子。如何以及许多职业和利弊。

Embedded a *.exe into a dll

如果你看到他的问题的第一个答案,我认为这对你有用。

他只是说,你在项目中添加一个资源文件,然后当用户符合你的程序时,它会将你作为资源文件添加的exe文件提取到最终用户加工的某个地方。