【发布时间】:2019-09-21 16:48:25
【问题描述】:
我正在通过进程对象从 c# 加载电子。我想通过进程对象(进程间通信)将数据从 c# 传递到电子(nodejs)。
我已经通过标准输入在 C# 中传递了数据。但是我无法通过标准输出获取节点中的数据。
通过标准输入加载电子和传递数据的 C# 代码。
var process = new System.Diagnostics.Process();
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @"desktopApp",
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = @"electron.exe",
RedirectStandardInput = true,
UseShellExecute = false,
//CreateNoWindow = true,
Arguments = "app"
};
process.StartInfo = startInfo;
process.Start();
StreamWriter myStreamWriter = process.StandardInput;
myStreamWriter.WriteLine("jsonData\n"); //Data string passing
myStreamWriter.Close();
process.WaitForExit();
Electron main.js 来获取数据。下面的事件根本没有触发。
process.stdout.on('data', (jsonData) => {
console.log("data", jsonData);
});
【问题讨论】: