By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,156 Members | 1,047 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,156 IT Pros & Developers. It's quick & easy.

Sending keystrokes to a console application

P: n/a
I have a console application (ssh2.exe) that requires keystrokes to be sent
to it after activating.

I have worked that it needs to be started in it own thread, but capturing
the process and sending the keystrokes escapes me at the moment.

Is there any material online that describes the process of sending
keystrokes to a console app?
Nov 16 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
You can redirect stdin so your can write strings to a stream and the console
will read it from std in like normal (i.e. type this.txt | myapp.exe".

--
William Stacey, MVP
http://mvp.support.microsoft.com

"Wayne" <no**@some.isp> wrote in message
news:OT**************@TK2MSFTNGP09.phx.gbl...
I have a console application (ssh2.exe) that requires keystrokes to be sent to it after activating.

I have worked that it needs to be started in it own thread, but capturing
the process and sending the keystrokes escapes me at the moment.

Is there any material online that describes the process of sending
keystrokes to a console app?


Nov 16 '05 #2

P: n/a
"William Stacey [MVP]" <st***********@mvps.org> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
You can redirect stdin so your can write strings to a stream and the console will read it from std in like normal (i.e. type this.txt | myapp.exe".


Do you have an example?
Nov 16 '05 #3

P: n/a
Many examples in the .net help. Here is one at
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003OCT.1033/cpref/html/frlrfsystemdiagnos
ticsprocessclassstandardinputtopic.htm

using System;
using System.IO;
using System.Diagnostics;
using System.ComponentModel;

namespace Process_StandardInput_Sample
{
class StandardInputTest
{
static void Main()
{
Console.WriteLine("Ready to sort one or more text lines...");

// Start the Sort.exe process with redirected input.
// Use the sort command to sort the input text.
Process myProcess = new Process();

myProcess.StartInfo.FileName = "Sort.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;

myProcess.Start();

StreamWriter myStreamWriter = myProcess.StandardInput;

// Prompt the user for input text lines to sort.
// Write each line to the StandardInput stream of
// the sort command.
String inputText;
int numLines = 0;
do
{
Console.WriteLine("Enter a line of text (or press the Enter key
to stop):");

inputText = Console.ReadLine();
if (inputText.Length > 0)
{
numLines ++;
myStreamWriter.WriteLine(inputText);
}
} while (inputText.Length != 0);
// Write a report header to the console.
if (numLines > 0)
{
Console.WriteLine(" {0} sorted text line(s) ", numLines);
Console.WriteLine("------------------------");
}
else
{
Console.WriteLine(" No input was sorted");
}

// End the input stream to the sort command.
// When the stream closes, the sort command
// writes the sorted text lines to the
// console.
myStreamWriter.Close();
// Wait for the sort process to write the sorted text lines.
myProcess.WaitForExit();
myProcess.Close();

}
}
}
--
William Stacey, MVP
http://mvp.support.microsoft.com

"Wayne" <no**@some.isp> wrote in message
news:#n**************@tk2msftngp13.phx.gbl...
"William Stacey [MVP]" <st***********@mvps.org> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
You can redirect stdin so your can write strings to a stream and the

console
will read it from std in like normal (i.e. type this.txt | myapp.exe".


Do you have an example?


Nov 16 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.