运行另一个程序,不复制.exe文件

本文关键字:复制 exe 文件 另一个 程序 运行 | 更新日期: 2023-09-27 18:07:17

我有一个程序,通过使用具有完整路径的Process.Start()-方法运行另一个外部程序(如"C:'some'folders'here'externprogram.exe")。

我遇到的问题是,每当我点击运行它的按钮时,我的程序会将其复制到我的程序所在的文件夹中,并在那里运行它(如"D:'MyProgram'externprogram.exe")。不幸的是,这个外部程序依赖于它旁边的其他东西,我不想把其他东西也复制到我的程序文件夹中。

有没有办法在任何地方运行程序而不是复制它?

运行另一个程序,不复制.exe文件

尝试设置WorkingDirectory;

using (Process pp = new Process())
       {
           pp.StartInfo.FileName = "externalAppUrl";
           pp.StartInfo.WorkingDirectory = "directoryNameToRun";
           pp.Start();
       } 

更多信息请查看此处

希望帮助。

有没有办法在任何地方运行程序而不是复制它?

Process类有一个构造函数参数ProcessStartInfo。ProcessStartInfo有一个名为WorkingDirectory的属性。此属性设置进程应在此目录中启动的值。它不会复制任何文件到你的目录。 使用

ProcessStartInfo startInfo = new ProcessStartInfo(PathToYourExe) 
{
  WorkingDirectory = "The directory from the exe." 
}

开始你的进程现在很容易。

using(Process process = Process.Start(startInfo))
{
  // Your code while process will run.
}