Я занимаюсь разработкой проекта приложения для C # windows. Форма содержит кнопку, и после нажатия кнопки запускается cmd.exe, используя метод Process.Start()
. StartInfo.Arguments()
содержит путь к exe-файлу, хранящемуся в папке ресурсов проекта (я создал новую папку с именем Resources и другую подпапку с именем SW1. Exe-файл находится внутри папки SW1)
Сейчас exe-файл хранится в другом месте на локальном компьютере, и я использую полный путь для ссылки на exe-файл в StartInfo.Argument (). Однако, когда я публикую приложение C #, я хочу, чтобы exe-файл был связан как ресурс. Как я могу ссылаться на исполняемый файл в этом случае?
private async void button1_Click(object sender, EventArgs e)
{
await RunCMDAsync();
}
private async static Task RunCMDAsync()
{
try
{
using (Process myProcess = new Process())
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/C cd <path to the exe file on my local computer here> & <name of exe --additional arguments>";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
myProcess.StartInfo = startInfo;
myProcess.Start();
myProcess.WaitForExit();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
В приведенном выше коде, всякий раз, когда запускается процесс cmd.exe, я хочу передать два аргумента, используя StartInfo.Arguments()
startInfo.Arguments = @"/C cd <path to the exe file on my local computer here> & <name of exe --additional arguments>";
Первый аргумент - перейти в папку с файлом exe.
(/C cd <path to the exe file on my local computer here>
)
Второй аргумент запускает exe-файл с некоторыми параметрами (<name of exe --additional arguments>
)
Как я могу сослаться на exe-файл в папке Resources> SW1 после того, как я опубликую его как отдельное приложение? Нужно ли мне извлекать exe-файл в папку на целевом компьютере во время установки приложения C # и использовать тот же код, что и выше, или есть способ напрямую ссылаться на папку ресурсов?