将以下行放入桌面上名为 ColourText.bas 的文件中。
Imports System
Imports System.IO
Imports System.Runtime.InteropServices
Imports Microsoft.Win32
Public Module MyApplication
Public Declare Function GetStdHandle Lib "kernel32" Alias "GetStdHandle" (ByVal nStdHandle As Long) As Long
Public Declare Function SetConsoleTextAttribute Lib "kernel32" Alias "SetConsoleTextAttribute" (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long
Public Const STD_ERROR_HANDLE = -12&
Public Const STD_INPUT_HANDLE = -10&
Public Const STD_OUTPUT_HANDLE = -11&
Sub Main()
Dim hOut as Long
Dim Ret as Long
Dim Colour As Long
Dim Colour1 As Long
Dim Text As String
hOut = GetStdHandle(STD_OUTPUT_HANDLE)
Colour = CLng("&h" & Split(Command(), " ")(0))
Colour1 = Clng("&h" & Split(Command(), " ")(1))
Text = Mid(Command(), 7)
Ret = SetConsoleTextAttribute(hOut, Colour)
Console.Out.WriteLine(text)
Ret = SetConsoleTextAttribute(hOut, Colour1)
End Sub
End Module
保存并在命令提示符下键入以下内容。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:exe /out:"%userprofile%\desktop\ColourText.exe" "%userprofile%\desktop\ColourText.bas" /verbose
一个名为 ColourText.exe 的文件将出现在您的桌面上。 将其移至 Windows 文件夹。
要使用您必须使用两个字符代码来设置颜色,例如01 而不是1。
ColourText ColourOfText ColourOfTextWhenFinished Text
EG 通过不传递任何文本来设置蓝底白字,然后在白色文本上设置红色,最后以蓝底灰结束。
ColourText F1 F1
ColourText F2 71 This is green on white
或
ColourText F1 F1
cls
ColourText F4 F4
Echo Hello
Echo Hello today
ColourText F1 F1
CLS 命令也变得有趣了。 Color 不带参数的命令将所有颜色重置为启动颜色。
要获得颜色代码,请将以下数字加在一起。在程序员模式下使用计算器。这些是十六进制数字。它们可以加在一起,例如 Red + Blue + FG Intensity = 13 = D。由于未使用 10+,因此背景将为黑色。颜色代码必须是两个字符,例如 08 而不是 8。
FOREGROUND_RED = &H4 ' text color contains red.
FOREGROUND_INTENSITY = &H8 ' text color is intensified.
FOREGROUND_GREEN = &H2 ' text color contains green.
FOREGROUND_BLUE = &H1 ' text color contains blue.
BACKGROUND_BLUE = &H10 ' background color contains blue.
BACKGROUND_GREEN = &H20 ' background color contains green.
BACKGROUND_INTENSITY = &H80 ' background color is intensified.
BACKGROUND_RED = &H40 ' background color contains red.