要获取Windows系统的详细信息,你可以使用以下库和工具:

  1. systeminformation:一个可用于获取系统信息的跨平台库。可以使用它来获取CPU、内存、电量、网络状态和系统负载等信息。它提供了一组易于使用的API来获取各种系统信息。

  2. @tauri-apps/api:Tauri是一个用于构建跨平台桌面应用程序的工具包。它提供了一组API,可以用于与底层操作系统进行交互。你可以使用@tauri-apps/api来获取诸如电量、网络状态和系统负载等信息。

以下是一个使用Tauri和systeminformation获取Windows系统详细信息的示例:

  1. 首先,你需要在Tauri项目中安装systeminformation@tauri-apps/api库:
npm install systeminformation @tauri-apps/api
  1. 然后,在Tauri的src-tauri/tauri.conf.json文件中添加systeminformation作为依赖项:
{
  "build": {
    "devPath": "http://localhost:4000",
    "distDir": "../dist",
    "dev": {
      "path": "http://localhost:4000",
      "fallbackPath": "index.html"
    },
    "beforeDevCommand": "npm run tauri dev",
    "beforeBuildCommand": "npm run tauri build",
    "afterBuildCommand": "",
    "beforeDevCommand": "",
    "beforeBuildCommand": "npm run tauri build",
    "afterBuildCommand": ""
  },
  "tauri": {
    "embeddedServer": {
      "active": true
    },
    "window": {
      "title": "My Tauri App"
    },
    "dependencies": [
      "systeminformation"
    ]
  }
}
  1. 在Vue组件中,你可以使用@tauri-apps/api来调用系统信息API,并使用systeminformation库来获取具体的系统信息。例如,你可以创建一个名为SysInfo.vue的组件:
<template>
  <div>
    <div>CPU: {{ cpu }}</div>
    <div>内存: {{ memory }}</div>
    <div>电量: {{ battery }}</div>
    <div>网络状态: {{ network }}</div>
    <div>系统负载: {{ load }}</div>
    <div>应用程序占用内存: {{ appMemory }}</div>
  </div>
</template>

<script>
import { ref, onMounted } from 'vue';
import { tauri } from '@tauri-apps/api';
import si from 'systeminformation';

export default {
  name: 'SysInfo',
  setup() {
    const cpu = ref('');
    const memory = ref('');
    const battery = ref('');
    const network = ref('');
    const load = ref('');
    const appMemory = ref('');

    onMounted(async () => {
      // 使用systeminformation库获取系统信息
      const cpuInfo = await si.cpu();
      cpu.value = `${cpuInfo.manufacturer} ${cpuInfo.brand} (${cpuInfo.cores}核)`;

      const memInfo = await si.mem();
      memory.value = `${(memInfo.total / (1024 * 1024 * 1024)).toFixed(2)} GB`;

      const batteryInfo = await si.battery();
      battery.value = `${batteryInfo.percent}%`;

      const networkInfo = await si.networkStats();
      network.value = `${networkInfo[0].iface} - 接收: ${networkInfo[0].rx_bytes} bytes, 发送: ${networkInfo[0].tx_bytes} bytes`;

      const loadInfo = await si.currentLoad();
      load.value = `${loadInfo.currentload.toFixed(2)}%`;

      // 使用Tauri API获取应用程序占用的内存
      const appMemoryInfo = await tauri.promisified.invoke('getMemoryUsage');
      appMemory.value = `${(appMemoryInfo / (1024 * 1024)).toFixed(2)} MB`;
    });

    return {
      cpu,
      memory,
      battery,
      network,
      load,
      appMemory,
    };
  },
};
</script>

在上述示例中,我们使用了systeminformation库来获取CPU、内存、电量、网络状态和系统负载等信息,并使用@tauri-apps/api库来获取应用程序占用的内存。

请注意,你需要在Tauri的Rust代码中实现一个getMemoryUsage函数,以便在Vue组件中调用。你可以通过使用tauri::command宏来实现这一点。例如,在Tauri的src-tauri/main.rs文件中添加以下代码:

#[tauri::command]
fn get_memory_usage() -> u64 {
    let process = sysinfo::Process::new(std::process::id());
    process.memory()
}

然后,在Tauri的src-tauri/event.rs文件中添加以下代码:

use crate::api::get_memory_usage;

#[tauri::event]
async fn get_memory_usage() -> u64 {
    get_memory_usage()
}

这将允许在Vue组件中调用getMemoryUsage函数来获取应用程序占用的内存

tauri 加 vue3 使用相关库获取Windows系统详细信息 比如 CPU 内存 电量 网络状态 系统负载 应用程序占用内存

原文地址: https://www.cveoy.top/t/topic/hCGF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录