Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: paulgonzalez en 5 Agosto 2009, 17:31 pm



Título: [vbs] Abrir dialogo de colores de windows
Publicado por: paulgonzalez en 5 Agosto 2009, 17:31 pm
Necesito hacer una secuencia de comandos con vbs que abra la ventana de dialogo de colores en windows xp. He tratado buscando información por internet y no hallado ninguna página hasta lo momentos que me pudiera ayudar.


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: leogtz en 5 Agosto 2009, 18:16 pm
Necesito hacer una secuencia de comandos con vbs que abra la ventana de dialogo de colores en windows xp. He tratado buscando información por internet y no hallado ninguna página hasta lo momentos que me pudiera ayudar.

¿Cual ventana de colores de Windows, a que te refieres con eso?


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: Novlucker en 5 Agosto 2009, 18:42 pm
Te refieres a esto?

(http://s3.subirimagenes.com:81/imagen/previo/thump_3004303esapa.png) (http://www.subirimagenes.com/imagen-esapa-3004303.html)


Si es así entonces alcanza con algo como esto :P

Código
  1. set objshell = createobject("wscript.shell")
  2. objshell.run "RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,2"

Saludos


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: EddyW en 11 Agosto 2009, 08:37 am
No...
A lo que yo le entiendo es el cuadro de dialogo de Colores del CommonDialog..
Ahora no puedo hacerlo en mi PC, mas tarde si no responden lo posteo..

SaluDOS!!!


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: paulgonzalez en 19 Agosto 2009, 17:35 pm
A lo me refiero es al cuadro de diálogo de windows que permite seleccionar un color desde una secuencia de comandos vbs, para luego traerme el dato del color en hexadecimal...


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: Novlucker en 19 Agosto 2009, 17:48 pm
Sin palabras entonces ... no se que se pueda hacer eso en vbs ... si en VB por medio de commondialog.showcolor, pero no en vbs  :-\

Saludos


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: leogtz en 19 Agosto 2009, 19:10 pm
A lo me refiero es al cuadro de diálogo de windows que permite seleccionar un color desde una secuencia de comandos vbs, para luego traerme el dato del color en hexadecimal...

De nuevo no te explicas bien, deja una captura de pantalla.


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: paulgonzalez en 24 Agosto 2009, 17:16 pm
(http://www.recursosvisualbasic.com.ar/htm/tutoriales/img/commondialog-color.gif)

Lo que pasa es que estoy haciendo un programa de procesamiento por lotes (BATCH) que este a su vez crea una secuencia de comandos vbs, en donde debe aparecer la ventana de dialogo de colores de Windows, para que el usuario pueda elegir un color, de tal manera que tiene que aparecer el dato en hexadecimal en la pantalla del cmd, y que haga todo ésto, sólo ejecutando el archivo BATCH (.bat).

Código:
@echo off
@title Color elejido por el usuario
mode con cols=37 lines=12
color e0
echo Elija un color...
rem Aquí iría el código vbs...
(
echo ...?
echo ...?
echo ...?
)>colores.vbs
rem Ejecutando el vbs...
cscript //nologo colores.vbs>Dato.txt
set /p elColor=<Dato.txt
echo.
echo Elegiste en hexadecimal, el color: %elColor%
echo.
echo Pulse una tecla para salir
pause>nul
exit


Título: Re: [vbs] Abrir dialogo de colores de windows
Publicado por: paulgonzalez en 12 Septiembre 2009, 17:36 pm
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