Heim > Backend-Entwicklung > Golang > Wie kann ich WMI einfach von Go aus abfragen?

Wie kann ich WMI einfach von Go aus abfragen?

Mary-Kate Olsen
Freigeben: 2024-11-28 18:38:11
Original
312 Leute haben es durchsucht

How Can I Easily Query WMI from Go?

WMI von Go aus abfragen

Um WMI-Abfragen von Go aus auszuführen, ist die Verwendung von DLL-Aufrufen möglich. Allerdings kann es entmutigend sein, sich in der Komplexität COM-basierter Windows-APIs zurechtzufinden. Glücklicherweise gibt es alternative Lösungen, die einen einfacheren Ansatz bieten.

Eine empfohlene Lösung ist die Nutzung des GitHub-Repositorys von StackExchange/wmi. Dieses Paket kapselt die in der akzeptierten Antwort beschriebenen Techniken und bietet eine praktische Schnittstelle für WMI-Abfragen.

Verwendung des StackExchange/wmi-Pakets

Hier ist ein Codeausschnitt, der zeigt, wie das geht So verwenden Sie das StackExchange/wmi-Paket:

package main

import (
        "context"
        "fmt"
        "log"

        "github.com/StackExchange/wmi"
)

func main() {
        query := wmi.CreateQuery(&wmi.Query{
                Namespace:  "root\cimv2",
                Query:      "SELECT * FROM Win32_Process",
                Projection: []string{"Caption", "ProcessId"},
        })
        processes, err := query.Execute(context.Background())
        if err != nil {
                log.Fatal(err)
        }
        fmt.Printf("%-5s%-20v", "PID", "Name")
        fmt.Println()
        for _, p := range processes {
                fmt.Printf("%-5v%-20v\n", p.Properties["ProcessId"].Value.Value().(uint32), p.Properties["Caption"].Value.Value().(string))
        }
}
Nach dem Login kopieren

Dieses Beispiel wird abgerufen Informationen über laufende Prozesse, einschließlich ihrer Prozess-IDs und Namen. Das StackExchange/wmi-Paket verarbeitet die Feinheiten von COM und WMI und vereinfacht den Abfrageprozess für Go-Entwickler.

Das obige ist der detaillierte Inhalt vonWie kann ich WMI einfach von Go aus abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage