Lo que pude hacer con el problema propuesto, es hacer el código Batch cree un programa javascript para luego ejecutarlo, lo cual aparece el cuadro de dialogo en donde el usuario puede seleccionar un color de su preferencia, para luego después aparecer en el programa Batch el color en hexadecimal. De esta forma no me sirve, ya que lo quiero hacer es que aparezca el cuadro de colores a través de una secuencia de comandos, ya sea .vbs o .js.
Aquí le mando el código que pude hacer, esperando me puedan ayudar a lo que realmente quiero.
Código:
@echo off
@title Color elejido por el usuario
mode con cols=44 lines=7
color e0
cd\
set ruta=%cd%/
echo.
echo Elija un color...
rem El código javascript...
(
echo ^<script language="javascript"^>
echo function decAhex(dec^){
echo dec = parseInt(dec^);
echo var hexChars="0123456789ABCDEF";
echo var dig = new Array(5^);
echo ^for ^(k^=0; k^<6; k++^){
echo dig[k] = dec %% 16;
echo dec = (dec-dig[k]^) / 16;
echo }
echo var resul = "";
echo ^for ^(k^=5; k^>-1; k--^){
echo resul += hexChars.charAt(dig[k]^);
echo }
echo return resul;
echo }
echo function VentanaColores(^){
echo fso = new ActiveXObject("Scripting.FileSystemObject"^);
echo f1 = fso.CreateTextFile("%ruta%Dato.txt", true^);
echo var color = decAhex(dialogHelper.ChooseColorDlg(0x000000^)^);
echo f1.WriteLine(color^);
echo f1.Close(^);
echo close(^);
echo }
echo ^</script^>
echo ^<body onload="VentanaColores()"^>
echo ^<object name="dialogHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"^>^</object^>
echo ^</body^>
)>colores.html
rem Ejecutando el javascript...
colores.html
set /p elColor=<Dato.txt
del Dato.txt
del colores.html
echo.
echo Elegiste en hexadecimal, el color: #%elColor%
echo.
echo Pulse una tecla para salir
pause>nul
exit
Aquí le mando el código que pude hacer, esperando me puedan ayudar a lo que realmente quiero.
Código:
@echo off
@title Color elejido por el usuario
mode con cols=44 lines=7
color e0
cd\
set ruta=%cd%/
echo.
echo Elija un color...
rem El código javascript...
(
echo ^<script language="javascript"^>
echo function decAhex(dec^){
echo dec = parseInt(dec^);
echo var hexChars="0123456789ABCDEF";
echo var dig = new Array(5^);
echo ^for ^(k^=0; k^<6; k++^){
echo dig[k] = dec %% 16;
echo dec = (dec-dig[k]^) / 16;
echo }
echo var resul = "";
echo ^for ^(k^=5; k^>-1; k--^){
echo resul += hexChars.charAt(dig[k]^);
echo }
echo return resul;
echo }
echo function VentanaColores(^){
echo fso = new ActiveXObject("Scripting.FileSystemObject"^);
echo f1 = fso.CreateTextFile("%ruta%Dato.txt", true^);
echo var color = decAhex(dialogHelper.ChooseColorDlg(0x000000^)^);
echo f1.WriteLine(color^);
echo f1.Close(^);
echo close(^);
echo }
echo ^</script^>
echo ^<body onload="VentanaColores()"^>
echo ^<object name="dialogHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"^>^</object^>
echo ^</body^>
)>colores.html
rem Ejecutando el javascript...
colores.html
set /p elColor=<Dato.txt
del Dato.txt
del colores.html
echo.
echo Elegiste en hexadecimal, el color: #%elColor%
echo.
echo Pulse una tecla para salir
pause>nul
exit