Wie können Go-GUI-Anwendungen im Befehlsfenster gedruckt werden?
Ausgabe an das Befehlsfenster mit Windows-GUI-verknüpften Go-Anwendungen drucken
Beim Kompilieren von Go-Anwendungen mit der Flagge -ldflags -H=windowsgui Die resultierende ausführbare Datei ist so eingestellt, dass sie als Windows-GUI-Anwendung ausgeführt wird. Standardmäßig haben GUI-Anwendungen keinen Zugriff auf die Konsole, wodurch die Ausgabe gedruckter Zeichenfolgen verhindert wird.
Um dieses Problem zu beheben, kann das Syscall-Paket verwendet werden, um den GUI-Prozess explizit an die übergeordnete Konsole anzuhängen. Dadurch kann die Anwendung die Ausgabe im Befehlsfenster drucken:
package main import ( "fmt" "syscall" ) const ( ATTACH_PARENT_PROCESS = ^uint32(0) // (DWORD)-1 ) var ( modkernel32 = syscall.NewLazyDLL("kernel32.dll") procAttachConsole = modkernel32.NewProc("AttachConsole") ) func AttachConsole(dwParentProcess uint32) (ok bool) { r0, _, _ := syscall.Syscall(procAttachConsole.Addr(), 1, uintptr(dwParentProcess), 0, 0) ok = bool(r0 != 0) return } func main() { ok := AttachConsole(ATTACH_PARENT_PROCESS) if ok { fmt.Println("Okay, attached") } }
Nach dem Anschließen an die übergeordnete Konsole kann die Anwendung die Ausgabe mit der Standardfunktion fmt.Println() drucken oder direkt in syscall.Stdout schreiben. Wenn AttachConsole() jedoch fehlschlägt, sollte die Anwendung entweder:
- mit AllocConsole() ihr eigenes Konsolenfenster erstellen.
- Die Ausgabe in einem GUI-Dialogfeld anzeigen.
Das obige ist der detaillierte Inhalt vonWie können Go-GUI-Anwendungen im Befehlsfenster gedruckt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
