试图从另一个程序中启动Visual Studio c#程序
本文关键字:程序 Visual Studio 启动 另一个 | 更新日期: 2023-09-27 17:49:50
我很难让一个用vs2008 c#编写的Windows程序来启动另一个类型程序。我放了一个主程序,让你能够启动其他vs2008 c#程序。当其中一个被选中时,下面的代码将执行启动:
System.Diagnostics.Process。开始(@"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不了解,不知道是否有解决这个问题的方法,所以任何帮助都将非常感谢。
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"));
假设您想从它所在的位置打开项目
一旦你创建了安装包,你可以将安装路径设置为一些固定的路径,用户将无法更改,然后在你的代码中使用它(不是很用户友好,但它会工作),或者将用户选择的路径值插入到注册表中,并从那里获得它。
可能想看看这个线程。How-to以及很多的利弊。
将*.exe嵌入到dll
如果你看到他问题的第一个答案,我想这对你来说是可行的。
简单地说,他是说,你添加一个资源文件到你的项目,然后当用户runes你的程序,它提取你的exe文件,你添加作为一个资源文件到某个地方,你知道在终端用户的机器。