我正在尝试修补一个 waf问题,在这个问题中,当Windows命令提示符输出应该被着色时,它没有被着色。我正在努力找到足够的资源来弄清楚如何实现这个补丁,但是我很难找到足够的资源 - 能否有人指点一下我?
更新1
请不要建议任何需要使用Cygwin的内容。
我正在尝试修补一个 waf问题,在这个问题中,当Windows命令提示符输出应该被着色时,它没有被着色。我正在努力找到足够的资源来弄清楚如何实现这个补丁,但是我很难找到足够的资源 - 能否有人指点一下我?
请不要建议任何需要使用Cygwin的内容。
借助ctypes和SetConsoleTextAttribute,这是可能的。
以下是一个示例:
from ctypes import *
STD_OUTPUT_HANDLE_ID = c_ulong(0xfffffff5)
windll.Kernel32.GetStdHandle.restype = c_ulong
std_output_hdl = windll.Kernel32.GetStdHandle(STD_OUTPUT_HANDLE_ID)
for color in xrange(16):
windll.Kernel32.SetConsoleTextAttribute(std_output_hdl, color)
print "hello"