我想從C#.NET進程類執行.exe文件,但我無法這樣做。我能夠成功地從命令提示符運行.exe。無法從C#進程類運行EXE
下面是低於C#代碼的成功的命令提示符下輸出
我使用。在下面的代碼之外我沒有做任何事情。
string output = string.Empty;
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.WorkingDirectory = @"C:\Windows\System32";
myProcess.StartInfo.FileName = "pdftotext.exe";
myProcess.StartInfo.Arguments = " -?";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.Verb = "runas";
myProcess.Start();
using (StreamReader streamReader = myProcess.StandardOutput)
output = streamReader.ReadToEnd();
MessageBox.Show("Output = " + output);
以下是上述代碼的輸出。
是什麼讓你覺得exe文件是在該文件夾? (它可能在你的'PATH'中的任何地方用於命令行的工作。) – Richard 2014-09-04 06:31:28
我複製粘貼他們的pdftotext.exe(即C:\ Windows \ System32 \ pdftotext.exe) – 2014-09-04 07:32:08
我想知道你是否得到了輸出,但它不是你所期望的。當你調試時,在顯示的消息框的哪一行上;如果包含代碼中的那個,那麼執行成功。然後你可以使用像Process Explorer這樣的東西來看看這個過程是如何實際開始的。 – Richard 2014-09-04 08:22:57