将数据从C#传递到电子

时间:2019-05-03 06:58:20

标签: c# node.js electron ipc

我正在通过处理对象从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);
});

1 个答案:

答案 0 :(得分:1)

现在有一个库,用于通过STDIN / STDOUT将Electron转换为C#。这是文章:https://www.blinkingcaret.com/2019/02/27/electron-cgi/