| // +build windows | |
| // +build !appengine | |
| package isatty | |
| import ( | |
| "syscall" | |
| "unsafe" | |
| ) | |
| var kernel32 = syscall.NewLazyDLL("kernel32.dll") | |
| var procGetConsoleMode = kernel32.NewProc("GetConsoleMode") | |
| // IsTerminal return true if the file descriptor is terminal. | |
| func IsTerminal(fd uintptr) bool { | |
| var st uint32 | |
| r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) | |
| return r != 0 && e == 0 | |
| } |