C#将数据粘贴到ExternalProcess中

本文关键字:ExternalProcess 数据 | 更新日期: 2023-09-27 18:20:22

我正在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();

有更好的方法吗?我以这种方式意识到管道文本中所谓的安全含义,但我需要创建一个简单的启动器程序来支持遗留项目。

C#将数据粘贴到ExternalProcess中

如果您在评论中回答需要在字段中添加一些文本,恐怕您将不得不把手弄脏。

这个遗留应用程序中的文本框(我想就是这样)将是一个窗口。您必须找到它,并使用平台调用向它发送消息。这个问题应该让你开始。

如果所述控件有名称,您可以使用Spy++找到它。