Я хочу запустить файл exe
, используя процесс в c#, при запуске exe-файла я получу строку с символом, нажатым на клавиатуре, и он будет напечатан процессу, используя RedirectStandardOutput = true
я получу byte[]
, который содержит файл и преобразует его в файл, затем создам новый процесс, который активирует файл, и я намерен прочитать его из файла (строка / символ, нажатый клавишным ключом) и увидеть это в TB
, который является TextBlock (я работаю над WPF). но когда я запускаю его, он печатает исключение, упомянутое выше. вот мой код:
private void p1()
{
byte[] b1 = the byte[] containing the file;
FileStream file = File.Create("p.exe");
file.Write(b1, 0, b1.Length);
try
{
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = file.Name,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
Thread t = new Thread(() => { res = ReadFromP(process); });
t.Start();
t.Join();
TB.Text=res;
}
catch
{
TB.text="didnt worked";
}
}
private string ReadFromP(Process p)
{
try
{
string line;
p.Start();
// while (!p.StandardOutput.EndOfStream)
//{
line = p.StandardOutput.ReadLine();
//}
return line;
//p.WaitForExit();
}
catch (Exception e)
{
return(e.Message);
}
}