У меня есть файл, который мне нужно запустить, создав командную строку. В основном так оно и есть:C# Запустить командную строку из ресурсов
Имя файла UArtCMD.exe, я использую его, открывая командную строку в его каталоге и запуская команды, запрограммированные в нем, например «uartcmd a». То, что я пытаюсь сделать, это добавить gui к этому программному обеспечению извне, и когда, скажем, нажата кнопка на gui, она будет запускать команду с помощью командной строки.
Мне удалось убежать от компьютера без каких-либо задержек, но проблемы возникают, когда я устанавливаю программное обеспечение на другой компьютер. Поскольку UArtCMD является внешним программным обеспечением, он не будет на каждом компьютере, поэтому я попытался добавить его к ресурсам проекта и запустить его оттуда, проблема в том, что я понятия не имею, как это сделать.
Это мой код для запуска командной строки на компьютере, который имеет UArtCMD
public static string executeLine(string command)
{
string result;
try
{
Process process = Process.Start(new ProcessStartInfo("cmd.exe", "/c " + command)
{
CreateNoWindow = true,
UseShellExecute = false,
WorkingDirectory = "C:\\UArtCMD",
RedirectStandardError = true,
RedirectStandardOutput = true
});
process.WaitForExit();
string text = process.StandardOutput.ReadToEnd();
process.Close();
MainWindow.log(text);
result = text;
}
catch (Exception ex)
{
result = ex.StackTrace;
}
return result;
}
Спасибо заранее!
Если вам нужно, чтобы я добавил какую-либо информацию или подробно расскажу о вопросе, дайте мне знать, я с удовольствием сделаю это.
1) где вы извлекаете ресурсы и сохраняете свой исполняемый файл в файловой системе? 2) Я бы не использовал c: \ something как рабочий каталог (пользователи с ограничениями или UAC могут это предотвратить) –
Удалите атрибут WorkDirectory, добавьте uARTCMD как часть вашего проекта и проведите его «Копировать локально» –
@AdrianoRepetti I не извлекайте их, они находятся в ресурсах, и я установил свойство «Копировать в выходной каталог» на «Всегда», как предложил SalamiArmy. – Daedalus