Reputation: 1
Is it possible to open a c# exe file (console app) from another c # project (windows form) and to write or read different text values from the exe file? i'm using user32dll to handle the exe file.
Thx I did use this method to add a text in an exe file:
Clipboard.SetText("Message!");
foreach (IntPtr pPost in pControls)
{
PostMessage(pPost, (uint)WindowMessage.WM_PASTE, 0, 0);
}
but is not working. I don't see the "Message" post added in c# exe (which is a console app) . Thoug using the notepad.exe everyting is working ok.
Upvotes: 0
Views: 1980
Reputation: 941218
There are a large number of possible failure modes here.
Visit pinvoke.net for (usually) correct pinvoke declarations.
Upvotes: 2
Reputation: 498904
You can use the Process
class to execute the command line app and redirect the input/output using the StandardInput
and StandardOutput
properties.
From MSDN:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "Write500Lines.exe";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
There are more examples on the StandardOutput
page linked above.
Upvotes: 6