PortQry与ElectronJS桌面应用程序的集成

时间:2019-03-18 13:33:28

标签: javascript tcp udp electron port

我目前正在尝试使用ElectronJS在Microsoft's PortQry CLI周围构建包装器,以自动检查与我公司服务(Active Directory,Outlook等)的连接,并具有外观更好的GUI。 (我喜欢引导程序)

该计划是让我的electronicJS应用程序在本地运行CLI并获取输出。我尝试使用node-cmd,但无法显示输出。

下面是我的electronicJS文件:

Index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        <p id="input">Hello World</p>
    </div>

<script src="./backend.js"></script>
</body>
</html>

backend.js

var cmd=require('node-cmd');

    cmd.get(
        'C:\PortQryV2\portqry -n google.com -p tcp -o 8080',
        function(err, data, stderr){
            document.getElementById("input").innerHTML=data;
        }
    );

main.js

const { app, BrowserWindow } = require('electron')

function createWindow () {
  // Create the browser window.
  let win = new BrowserWindow({ width: 800, height: 600 })

  // and load the index.html of the app.
  win.loadFile('index.html')
  win.webContents.openDevTools()
}

app.on('ready', createWindow)

因此应该运行PortQry,并更改p标签以显示输出。但是我无法使它正常工作。我当时在想看看nodejs的child_process是否可以工作,但似乎无法将其导入到我的代码中。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我意识到这个问题现在有多么愚蠢。

Electronjs使用nodejs作为运行时。我以前在Chrome中启动index.html,因此它永远无法正常工作。您必须启动电子应用程序才能使其正常工作。