Ich habe herausgefunden, wie Sie die Eingabe an die Konsole senden. Ich habe das verwendet, was Jon Skeet gesagt hat. Ich bin nicht 100% sicher, dass dies der richtige Weg ist, dies zu implementieren.
Wenn es Kommentare gibt, um dies besser zu machen, würde ich gerne hier. Ich tat das nur, um zu sehen, ob ich es herausfinden könnte. Hier
ist das Programm, das ich sah, dass für Eingabeformular der Benutzer gewartet
class Program
{
static void Main(string[] args)
{
// This is needed to wait for the other process to wire up.
System.Threading.Thread.Sleep(2000);
Console.WriteLine("Enter Pharse: ");
string pharse = Console.ReadLine();
Console.WriteLine("The password is '{0}'", pharse);
Console.WriteLine("Press any key to exit. . .");
string lastLine = Console.ReadLine();
Console.WriteLine("Last Line is: '{0}'", lastLine);
}
}
Dies ist die Konsole app Schreiben an den anderen
class Program
{
static void Main(string[] args)
{
// Find the path of the Console to start
string readFilePath = System.IO.Path.GetFullPath(@"..\..\..\ReadingConsole\bin\Debug\ReadingConsole.exe");
ProcessStartInfo startInfo = new ProcessStartInfo(readFilePath);
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
Process readProcess = new Process();
readProcess.StartInfo = startInfo;
// This is the key to send data to the server that I found
readProcess.OutputDataReceived += new DataReceivedEventHandler(readProcess_OutputDataReceived);
// Start the process
readProcess.Start();
readProcess.BeginOutputReadLine();
// Wait for other process to spin up
System.Threading.Thread.Sleep(5000);
// Send Hello World
readProcess.StandardInput.WriteLine("Hello World");
readProcess.StandardInput.WriteLine("Exit");
readProcess.WaitForExit();
}
static void readProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
// Write what was sent in the event
Console.WriteLine("Data Recieved at {1}: {0}", e.Data, DateTime.UtcNow.Ticks);
}
}
siehe auch die andere Frage dazu: http: //stackoverflow.com/questions/450741/getting-the-pipe-from-rsync-to-run-asa-script –
das war meine andere Frage, ich entschied mich, einen anderen Weg zu versuchen, daher eine andere Frage – Malfist