In Go, apabila menggunakan syscall untuk mengaburkan tetingkap baris arahan menggunakan exec.Command(nama, args...), pengguna tertentu menghadapi masalah yang berlarutan: tetingkap muncul semula selepas penyusunan dalam persekitaran Windows.
Soalan ini bertujuan untuk mendedahkan penyelesaian untuk menghalang tetingkap baris arahan daripada menjadi kenyataan. Walaupun teknik penyusunan sumber Go ke dalam Windows GUI boleh laku menggunakan go build -ldflags -H=windowsgui secara berkesan menyekat tetingkap pelancaran untuk program itu sendiri, Exec terus menghasilkan tingkap yang boleh dilihat.
Penyelesaian:
Ujud penyelesaian unggul yang memberi kuasa kepada exec.Command() untuk melaksanakan tanpa memaparkan tetingkap kelihatan.
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()
Kod ini mengimport syscall dan memberikan laluan arahan, argumen dan atribut HideWindow kepada objek cmd_instance. Selepas itu, ia melaksanakan arahan dan menyimpan output dalam cmd_output.
Pendekatan ini berjaya menyembunyikan tetingkap baris arahan semasa menggunakan exec.Command() dalam Go, menangani pertanyaan awal dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Menyembunyikan Windows Prompt Perintah Apabila Menggunakan `exec.Command` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!