将数据从c#传递给电子
我正在通过处理对象从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);
});
回答如下:[现在有一个库,用于通过STDIN / STDOUT将Electron转换为C#。这是文章:https://www.blinkingcaret/2019/02/27/electron-cgi/
将数据从c#传递给电子
我正在通过处理对象从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);
});
回答如下:[现在有一个库,用于通过STDIN / STDOUT将Electron转换为C#。这是文章:https://www.blinkingcaret/2019/02/27/electron-cgi/