github.com/Mrs4s/go-cqhttp@v1.2.0/global/terminal/vt100_windows.go (about)

     1  package terminal
     2  
     3  import (
     4  	"os"
     5  
     6  	"golang.org/x/sys/windows"
     7  )
     8  
     9  // EnableVT100 启用颜色、控制字符
    10  func EnableVT100() error {
    11  	stdout := windows.Handle(os.Stdout.Fd())
    12  
    13  	var mode uint32
    14  	err := windows.GetConsoleMode(stdout, &mode)
    15  	if err != nil {
    16  		return err
    17  	}
    18  
    19  	mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING // 启用虚拟终端处理
    20  	mode |= windows.ENABLE_PROCESSED_OUTPUT            // 启用处理后的输出
    21  
    22  	return windows.SetConsoleMode(stdout, mode)
    23  }