Muy buenas a tod@s veran tengo un pequeño gran proyecto entre manos .Estoy en detalles y uno de esos detalles es que quiero poner un poco de color a la ventana usando el comando color de batch .Al principio para poner titulo a la ventana use
Set ksv = CreateObjet('WScript.Shell")
ksv.Exec "%comspec% /c title .::ELHACKER.NET::."
WScript.echo "Hola Mundo"
wscript.sleep 3000
consola
c:\cscript //nologo filevb.vbs
Pero no funciona con color :
Set ksv = CreateObjet('WScript.Shell")
ksv.Exec "%comspec% /c color 0a"
WScript.echo "Hola Mundo"
wscript.sleep 3000
Alguien tiene una idea d como solucionar eso
Gracias de antemano
El método Exec y Run corren subprocesos, estás corriendo un subproceso de la CMD... no puedes modificar programáticamente los colores en la instancia actual de la consola bajo VBS, ya que éste no soporta nada de eso.
Lo que puedes hacer es, al iniciar el script, re-ejecutar el script en una nueva instancia de la consola, con los colores modificados.
Ejemplo:
If (WSCript.Arguments.Length = 0) Then
CreateObject("Wscript.Shell").Run("%comspec% /K """ & _
" Color 70 & " & _
" CScript.exe /NoLogo """ & WScript.ScriptFullName & """" & " " & """Colorized""" _
), 1, True
WScript.Quit(0)
ElseIf (WSCript.Arguments.Length > 1) Then
' Condicional para cuando se necesita pasar y controlar argumentos adicionales que no sean "Colorized".
Else
' Condicional para cuando no se necesita pasar y controlar argumentos adicionales que no sean "Colorized".
WScript.echo "Hello World!"
Wscript.Echo "End"
End If
PD: Experimentar con un lenguaje tan limitado cómo VBS (y Batch) no conlleva a nada que sea realmente de utilidad.
Saludos!