Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk memisahkan Proses Go daripada Tetingkap Perintah dan Sembunyikan Tetingkap Konsol dalam Windows?
Menyahgandingkan Proses daripada Tetingkap Perintah
Dalam Go, anda boleh mencipta proses anak menggunakan os.StartProcess(). Walau bagaimanapun, secara lalai, proses ini kekal disambungkan ke tetingkap arahan induk. Untuk memisahkan proses dan menjalankannya di latar belakang, anda perlu mengubah suai atributnya.
Dalam kod anda, anda telah menyediakan struktur procAttr untuk mengubah hala deskriptor fail untuk proses anak. Walau bagaimanapun, nampaknya anda telah meninggalkan tetapan yang diperlukan untuk menyembunyikan tetingkap konsol untuk sistem Windows.
Untuk menyembunyikan tetingkap konsol, tambah baris berikut pada ahli procAttr.Sys:
procAttr.Sys.HideWindow = true
Walau bagaimanapun, anda telah menyebut bahawa ini mengakibatkan ralat "panic to wrong memory pointer". Ini berkemungkinan besar disebabkan oleh isu lain dalam kod anda yang tidak berkaitan dengan proses penyahgandingan.
Untuk menyusun atur cara anda tanpa memaut ke subsistem GUI Windows dan melumpuhkan penciptaan tetingkap konsol, gunakan arahan berikut:
go tool 8l -o output.exe -Hwindowsgui input.8
Ini akan menjana boleh laku yang boleh dijalankan di latar belakang tanpa tetingkap konsol.
Atas ialah kandungan terperinci Bagaimana untuk memisahkan Proses Go daripada Tetingkap Perintah dan Sembunyikan Tetingkap Konsol dalam Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!