找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 57772|回复: 35

[其他] [Visual Basic 6.0] Colour.Exe 让命令行更多彩

[复制链接]
发表于 2021-10-5 12:25:31 | 显示全部楼层 |阅读模式
命令帮助:
  1. Hope Colour [Version 1.0.0000]
  2. (C) Copyright 2016-2021 Hope Corp.

  3. 本程序用于让命令行实现彩色显示

  4. Colour /H                   - 查询帮助

  5. Colour /?                   - 查询帮助

  6. Colour ColourCode           - 从下一行命令开始,进行与ColourCode关联的颜色
  7.                             - ColourCode是颜色代码,可以是任意一个0~255的正整数
  8.                             - 下面是ColourCode的色卡

  9. 0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      36      37      38      39      40      41      42      43      44      45      46      47      48      49      50      51      52      53      54      55      56      57      58      59      60      61      62      63      64      65      66      67      68      69      70      71      72      73      74      75      76      77      78      79      80      81      82      83      84      85      86      87      88      89      90      91      92      93      94      95      96      97      98      99      100     101     102     103     104     105     106     107     108     109     110     111     112     113     114     115     116     117     118     119     120     121     122     123     124     125     126     127     128     129     130     131     132     133     134     135     136     137     138     139     140     141     142     143     144     145     146     147     148     149     150     151     152     153     154     155     156     157     158     159     160     161     162     163     164     165     166     167     168     169     170     171     172     173     174     175     176     177     178     179     180     181     182     183     184     185     186     187     188     189     190     191     192     193     194     195     196     197     198     199     200     201     202     203     204     205     206     207     208     209     210     211     212     213     214     215     216     217     218     219     220     221     222     223     224     225     226     227     228     229     230     231     232     233     234     235     236     237     238     239     240     241     242     243     244     245     246     247     248     249     250     251     252     253     254     255
复制代码
下载链接:文件区\Colour.exe
 楼主| 发表于 2021-10-5 12:37:45 | 显示全部楼层
本帖最后由 HOPE2021 于 2021-10-5 12:46 编辑

回复 1# HOPE2021
使用Colour.Exe制作的彩虹:
  1. @Echo off
  2. Mode Con: Cols=80 Lines=25
  3. Title Colour Test
  4. Set "Line="
  5. For /l %%i in (1,1,80) do (
  6.         Call :Line
  7. )
  8. For /l %%i in (0,1,255) do (
  9.         Colour %%i
  10.         Set /p Str=%Line%<nul
  11. )
  12. @Pause > nul
  13. @Exit /b

  14. :Line
  15.         Set "Line=%Line%#"
  16. @Goto :eof
复制代码
 楼主| 发表于 2021-10-5 12:45:41 | 显示全部楼层
回复 2# HOPE2021
FindStr做不到的事:彩色显示重定向符:
  1. @Echo off
  2. Mode Con: Cols=80 Lines=25
  3. Title Colour Test
  4. Set "Line="
  5. Set "Line2="
  6. For /l %%i in (1,1,80) do (
  7.         Call :Line
  8.         Call :Line2
  9. )
  10. For /l %%i in (0,1,255) do (
  11.         Colour %%i
  12.         Call :Echo2
  13. )
  14. @Pause > nul
  15. @Exit /b

  16. :Line
  17.         Set "Line=%Line%^<"
  18. @Goto :eof

  19. :Line2
  20.         Set "Line2=%Line2%^>"
  21. @Goto :eof

  22. :Echo2
  23.         Set /a Rand=%Random%%%2
  24.         If %Rand% Equ 0        (
  25.                 Set /p Str=%Line%<nul
  26.         )
  27.         If %Rand% Equ 1        (
  28.                 Set /p Str=%Line2%<nul
  29.         )
  30. @Goto :eof
复制代码
 楼主| 发表于 2021-10-5 13:34:25 | 显示全部楼层
回复 3# HOPE2021
源码:
  1. Option Explicit
  2. Public Declare Function FreeConsole Lib "kernel32" () As Long
  3. Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  4. Public Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
  5. Public Declare Function LstrLen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
  6. Private Declare Function SetConsoleTextAttribute Lib "kernel32" (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long
  7. Public Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
  8. Public Const STD_OUTPUT_HANDLE = -11&
  9. Public hConsoleOut As Long
  10. Public Sub Initialize()
  11.     hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE)
  12. End Sub
  13. Public Sub Terminate()
  14.     Call FreeConsole
  15.     Call CloseHandle(hConsoleOut)
  16. End Sub
  17. Public Sub Echo(ByVal szOut As String)
  18.     WriteConsole hConsoleOut, szOut, LstrLen(szOut), vbNull, vbNull
  19. End Sub

  20. Sub Main()
  21.     On Error Resume Next
  22.     Dim Cmd
  23.     Dim i
  24.     Dim j
  25.     Call Initialize
  26.     Dim Color___ As Long
  27.     If Command = "" Then
  28.         Call Echo(vbCrLf & "没有命令参数,操作失败" & vbCrLf)
  29.         Call Help_
  30.     End If
  31.     If Left(UCase(Command), 2) = "/H" Then
  32.         Call Help_
  33.         Call Terminate
  34.         Exit Sub
  35.     End If
  36.     If Left(UCase(Command), 2) = "/?" Then
  37.         Call Help_
  38.         Call Terminate
  39.         Exit Sub
  40.     End If
  41.     Color___ = Command
  42.     If Not Left(UCase(Command), 2) = "/H" Then
  43.         Dim Handle
  44.         Handle = GetStdHandle(STD_OUTPUT_HANDLE)
  45.         If IsNumeric(Color___) = True Then
  46.             Call SetConsoleTextAttribute(Handle, Color___)
  47.             Call Terminate
  48.             End
  49.         End If
  50.     Call Echo("命令参数不正确" & vbCrLf)
  51.     Call Terminate
  52.     End If
  53. End Sub

  54. Function Help_()
  55.     Call Echo(vbCrLf & "Hope Colour [Version 1.0.0000]" & vbCrLf)
  56.     Call Echo("(C) Copyright 2016-2021 Hope Corp." & vbCrLf & vbCrLf)
  57.     Call Echo("本程序用于让命令行实现彩色显示" & vbCrLf & vbCrLf)
  58.     Call Echo("Colour /H                   - 查询帮助" & vbCrLf & vbCrLf)
  59.     Call Echo("Colour /?                   - 查询帮助" & vbCrLf & vbCrLf)
  60.     Call Echo("Colour ColourCode           - 从下一行命令开始,进行与ColourCode关联的颜色" & vbCrLf)
  61.     Call Echo("                            - ColourCode是颜色代码,可以是任意一个0~255的正整数" & vbCrLf)
  62.     Call Echo("                            - 下面是ColourCode的色卡" & vbCrLf & vbCrLf)
  63.     Dim i
  64.     For i = 0 To 255
  65.         Dim Handle
  66.         Handle = GetStdHandle(STD_OUTPUT_HANDLE)
  67.         Call SetConsoleTextAttribute(Handle, i)
  68.         Call Echo(" " & i & " ")
  69.         Call SetConsoleTextAttribute(Handle, 0)
  70.         Call Echo(Chr(9))
  71.     Next
  72.     Call Echo(vbCrLf)
  73.     Call SetConsoleTextAttribute(Handle, 7)
  74.     Call Terminate
  75.     End
  76. End Function

复制代码
发表于 2021-10-7 10:50:25 | 显示全部楼层
回复 4# HOPE2021


    我可否把他改成16BT颜色?
发表于 2021-10-7 10:53:51 | 显示全部楼层
回复 4# HOPE2021


    声明 部分的代码一直报错误,谁能给我一个正版VB6.0????
 楼主| 发表于 2021-10-7 10:55:33 | 显示全部楼层
回复 5# cmd1152
当然可以
发表于 2021-10-7 11:01:01 | 显示全部楼层
回复 4# HOPE2021


   
Microsoft Visual Basic                                                      [X]
----------------------------------------------------------------------

   [警告]     编译错误:

常数、固定长度字符串、数组、用户定义类型以及 Declare 语句不允许
作为对象模块的 Public 成员
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                    [确定]      [帮助]
 楼主| 发表于 2021-10-7 11:26:22 | 显示全部楼层
回复 8# cmd1152
没有问题啊?
发表于 2021-10-7 11:29:59 | 显示全部楼层
回复 9# HOPE2021


    他就是这样报,可能是我的VB有问题...
发表于 2021-10-7 11:30:36 | 显示全部楼层
回复 9# HOPE2021


    能不能给我一个正版的vb6.0(可以通过其他网盘发给我...)
 楼主| 发表于 2021-10-7 11:31:04 | 显示全部楼层
回复 11# cmd1152
那我先把我的网盘解冻...
发表于 2021-10-7 11:32:27 | 显示全部楼层
本帖最后由 cmd1152 于 2021-10-7 11:34 编辑

回复 12# HOPE2021


    以下是聊天信息
   
2021-10-5

cmd1152 2021-10-5 11:27

对了


cmd1152 2021-10-5 11:27

你发我的VB精简版缺少好多文件


路过 2021-10-5 19:18

所以,才叫精简版啊


cmd1152 2021-10-5 19:36

..................

2021-10-7

cmd1152 2021-10-7 11:31  NEW

能不能发我一个正版vb6.0

2021-10-7

cmd1152 2021-10-7 11:31  NEW

编译正确的代码会出错?
http://www.bathome.net/viewthrea ... mp;extra=#pid246357
发表于 2021-10-7 11:37:30 | 显示全部楼层
回复 12# HOPE2021


     可是你的网盘需要登录
     没事,注册一下就好了!
     不对,网盘需要电话号码,你难道有电话号码?
 楼主| 发表于 2021-10-7 11:53:46 | 显示全部楼层
回复 14# cmd1152
下载链接:https://share.weiyun.com/Gecoi2nm
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:37 , Processed in 0.021997 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表