我有一個需要通過創建命令提示符運行的文件。 基本上這是怎麼回事: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可能會阻止此操作) – 2014-10-27 11:24:43
刪除WorkingDirectory屬性,將uARTCMD作爲項目的一部分添加,並將其更改爲「Copy local」 – 2014-10-27 11:25:00
@AdrianoRepetti I不要提取它們,它們在資源中,並且我已經將「複製到輸出目錄」屬性設置爲「始終」,就像SalamiArmy建議的 – Daedalus 2014-10-27 11:34:25