如何使用NodeJs / Electron获取计算机名称?

jv4diomz  于 2023-02-03  发布在  Node.js
关注(0)|答案(3)|浏览(337)

我正在尝试从我的计算机检索计算机名,以便在我的mysql查询中使用它进行比较。
我想把computerName定义为一个变量,它使用NodeJs获取用户定义的计算机名,这个应用程序是通过electron for windows运行的。
任何帮助都将不胜感激。

vfhzx4xs

vfhzx4xs1#

您可以使用标准的nodeJS os API来检索计算机的(主机)名称,有关详细信息,请参阅此API文档。

const computerName = os.hostname()
mctunoxg

mctunoxg2#

在Mac上,可靠地获取OP请求的“ComputerName”的唯一方法是使用子进程,这并不理想...
cp.execSync('scutil --get ComputerName')
大多数情况下,hostname将=== ComputerName,但今天我发现情况并非总是如此。

q0qdq0h2

q0qdq0h23#

const cp = require('child_process')
const os = require('os')

function getComputerName() {
  switch (process.platform) {
    case "win32":
      return process.env.COMPUTERNAME;
    case "darwin":
      return cp.execSync("scutil --get ComputerName").toString().trim();
    case "linux":
      const prettyname = cp.execSync("hostnamectl --pretty").toString().trim();
      return prettyname === "" ? os.hostname() : prettyname;
    default:
      return os.hostname();
  }
}

console.log("getComputerName", getComputerName());

吸气参考:https://github.com/egoist/computer-name

相关问题