Heim > Backend-Entwicklung > Golang > Wie verstecke ich Eingabeaufforderungsfenster, wenn ich „exec.Command' in Go verwende?

Wie verstecke ich Eingabeaufforderungsfenster, wenn ich „exec.Command' in Go verwende?

Mary-Kate Olsen
Freigeben: 2024-11-30 01:25:12
Original
853 Leute haben es durchsucht

How to Hide Command Prompt Windows When Using `exec.Command` in Go?

So verbergen Sie Eingabeaufforderungsfenster mit Exec

Wenn Sie in Go Syscall verwenden, um Befehlszeilenfenster mit exec.Command(name, args...) zu verdecken, Bestimmte Benutzer stoßen auf ein anhaltendes Problem: Das Fenster wird nach der Kompilierung in Windows-Umgebungen wieder angezeigt.

Mit dieser Frage soll eine Lösung dafür gefunden werden verhindern, dass das Befehlszeilenfenster erscheint. Während die Technik des Kompilierens von Go-Quellen in ausführbare Windows-GUI-Dateien mithilfe von go build -ldflags -H=windowsgui das Startfenster für das Programm selbst effektiv unterdrückt, erzeugt Exec weiterhin sichtbare Fenster.

Lösung:

Es gibt eine überlegene Lösung, die es exec.Command() ermöglicht, auszuführen, ohne ein sichtbares Symbol anzuzeigen Fenster.

import syscall

cmd_path = "C:\Windows\system32\cmd.exe"
cmd_instance = exec.Command(cmd_path, "/c", "notepad")
cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
cmd_output, err := cmd_instance.Output()
Nach dem Login kopieren

Dieser Code importiert den Systemaufruf und weist den Befehlspfad, die Argumente und das HideWindow-Attribut dem cmd_instance-Objekt zu. Anschließend führt es den Befehl aus und speichert die Ausgabe in cmd_output.

Dieser Ansatz verbirgt erfolgreich Befehlszeilenfenster, während exec.Command() in Go verwendet wird, wodurch die anfängliche Abfrage effektiv beantwortet wird.

Das obige ist der detaillierte Inhalt vonWie verstecke ich Eingabeaufforderungsfenster, wenn ich „exec.Command' in Go verwende?. 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