我正在用C#编写一个处理用户输入的启动器,我希望将相应的输出字符串传送到外部程序。外部程序是一个预编译的C#可执行文件,它已经过期,所以我无法轻易修改它。
我可以使用ExternalProcess轻松启动所需的程序,但看不到任何发送数据的方法。我希望的函数调用类似于:
string myString = "string to pass over"
Clipboard.SetText(myString);
Process ExternalProcess = new Process();
ExternalProcess.StartInfo.FileName = "Notepad.exe";
ExternalProcess.Start();
// some kind of paste command here...
// ExternalProcess.magicpaste(myString);
ExternalProcess.WaitForExit();
还有更好的方法吗?我通过这种方式意识到管道文本中所谓的安全含义,但我需要创建一个简单的启动程序来支持遗留项目。
答案 0 :(得分:3)
鉴于你在评论中的答案,你需要在一个字段中放置一些文字,我担心你不得不弄脏你的手。
这个遗留应用程序中的文本框(我假设它是什么)将是一个窗口。而且您将不得不找到它,并使用Platform-Invoke向它发送消息。 This question应该让你开始。
如果所述控件有名称,您可以使用Spy++找到它。