运行另一个程序,不复制.exe文件
本文关键字:复制 exe 文件 另一个 程序 运行 | 更新日期: 2023-09-27 18:07:17
我有一个程序,通过使用具有完整路径的Process.Start()-方法运行另一个外部程序(如"C:'some'folders'here'externprogram.exe")。
我遇到的问题是,每当我点击运行它的按钮时,我的程序会将其复制到我的程序所在的文件夹中,并在那里运行它(如"D:'MyProgram'externprogram.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.
}