>백엔드 개발 >Golang >Go에서 `exec.Command`를 사용할 때 명령 프롬프트 창을 숨기는 방법은 무엇입니까?

Go에서 `exec.Command`를 사용할 때 명령 프롬프트 창을 숨기는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-30 01:25:12869검색

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

Exec으로 명령 프롬프트 창을 숨기는 방법

Go에서 exec.Command(name, args...)를 사용하여 명령줄 창을 모호하게 하기 위해 syscall을 사용할 때, 특정 사용자는 지속적인 문제에 직면합니다: Windows 환경에서 컴파일 후 창이 다시 나타납니다.

이 질문은 명령줄 창이 실현되는 것을 방지하는 솔루션을 찾아보세요. go build -ldflags -H=windowsgui를 사용하여 Go 소스를 Windows GUI 실행 파일로 컴파일하는 기술은 프로그램 자체의 시작 창을 효과적으로 억제하지만 Exec은 계속해서 표시되는 창을 생성합니다.

해결책:

exec.Command()가 눈에 보이는 메시지를 표시하지 않고 실행할 수 있도록 하는 우수한 솔루션이 존재합니다. window.

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()

이 코드는 syscall을 가져오고 명령 경로, 인수 및 HideWindow 속성을 cmd_instance 개체에 할당합니다. 그런 다음 명령을 실행하고 cmd_output에 출력을 저장합니다.

이 접근 방식은 Go에서 exec.Command()를 활용하면서 명령줄 창을 성공적으로 숨겨 초기 쿼리를 효과적으로 처리합니다.

위 내용은 Go에서 `exec.Command`를 사용할 때 명령 프롬프트 창을 숨기는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.