Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Nilrac en 13 Agosto 2012, 04:22 am



Título: [BATCH] Existe comando Nircmd
Publicado por: Nilrac en 13 Agosto 2012, 04:22 am
Hola que tal !

Existe un comando que abra una caja de texto? algo parecido al INPUTBOX en vbs
Necesito una instruccion que haga algo similar que pueda introducir un texto utilizando Nircmd

Gracias


Título: Re: [BATCH] Existe comando Nircmd
Publicado por: Eleкtro en 13 Agosto 2012, 07:40 am
Si lees la referencia de comandos de NIRCMD verás que no existe una función así.
Puedas combinar BATCH + VBS:
Citar
Código
  1. @echo off
  2. REM Input routine for batch using VBScript to provide input box
  3. REM Stephen Knight, October 2009, http://www.dragon-it.co.uk/
  4.  
  5. call :inputbox "Please enter something for me:" "Box Title"
  6. echo You entered %Input%
  7. exit /b
  8.  
  9. :InputBox
  10. set input=
  11. set heading=%~2
  12. set message=%~1
  13. echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%temp%\input.vbs"
  14. for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs" "%message%" "%heading%"') do set input=%%a
  15. exit /b

Saludos


Título: Re: [BATCH] Existe comando Nircmd
Publicado por: Nilrac en 13 Agosto 2012, 19:48 pm
Hola EleKtro H@cker

Gracias por tu respuesta tan acertada.

Ahora, hay alguna forma de que se abran dos cuadros de texto en una misma ventana utilizando este metodo?


Título: Re: [BATCH] Existe comando Nircmd
Publicado por: Eleкtro en 14 Agosto 2012, 07:41 am
Antes de nada, He tomado el código de arriba y lo he simplificado un poco (Solo un poco):

Código
  1. @echo off
  2.  
  3. REM Modo de empleo:
  4. REM Call :InputBox "TITULO DE VENTANA" "PREGUNTA" "VARIABLE DE ALMACENAMIENTO"
  5. REM
  6. REM Ejemplo:
  7. call :InputBox  "Elhacker.net" "Como te llamas?" "NAME"
  8. Echo Te llamas: %NAME%
  9.  
  10. :InputBox
  11. Echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) > "%temp%\input.vbs"
  12. for /F "tokens=*" %%# in ('cscript //nologo "%temp%\input.vbs" "%~2" "%~1"') do (set "%~3=%%#")
  13. Goto :EOF


hay alguna forma de que se abran dos cuadros de texto en una misma ventana utilizando este metodo?

Que yo sepa la función de inputbox de VBS no tiene esa capacidad.
Iba a decirte que lo que puedes hacer es ejecutar al mismo tiempo 2 cajas, Pero entonces las variables solo se guardarian en las nuevas instancias de la CMD (Start /B FOR...) Así que tampoco :-/.

Saludos