elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Vbscript] ¿Se puede enviar mensajes a una ventana?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Vbscript] ¿Se puede enviar mensajes a una ventana?  (Leído 4,104 veces)
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
[Vbscript] ¿Se puede enviar mensajes a una ventana?
« en: 17 Agosto 2009, 08:37 am »

Hola quiero saber si se puede, y si así es: cómo.
¿Se puede enviar mensajes a una ventana?

Sucede que tengo un código hecho en batch, usando nircmdc.exe envío mensajes directamente a una ventana, para resolver puzzles, pero quiero hacerlo con vbscript.

En este caso envío las notificaciones: WM_KEYDOWN y WM_KEYUP
Quiero convertir este código de batch + nircmdc a vbscript:

Código:
@echo off
setlocal enabledelayedexpansion enableextensions

:in
cls
(set lurd=)
set /p lurd=Lurd:
if not defined lurd (goto :in)

:loop_in
set mov=!lurd:~0,1!
set lurd=!lurd:~1!
cls
echo.!mov!
(set kc=0x0)
if /i "!mov!"=="L" (set kc=0x25)
if /i "!mov!"=="U" (set kc=0x26)
if /i "!mov!"=="R" (set kc=0x27)
if /i "!mov!"=="D" (set kc=0x28)
nircmdc win sendmsg ititle " for WINDOWS" 0x100 !kc! 0
nircmdc wait 360
nircmdc win sendmsg ititle " for WINDOWS" 0x101 !kc! 0

if defined lurd (goto :loop_in)
goto :in


« Última modificación: 18 Agosto 2009, 07:06 am por 0x0309 » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Vbscript] ¿Se puede enviar mensajes a una ventana?
« Respuesta #1 en: 17 Agosto 2009, 13:34 pm »

Podrías hacer algo así ...

Código
  1. Set objshell = Createobject("wscript.shell")
  2.  
  3. do until objshell.appactivate("C:\WINDOWS\system32\cmd.exe")
  4. wscript.sleep 200
  5. Loop

Esta parte del code para asegurarnos de poner el foco en tu ventana (esa ruta es justamente porque veo que la ventana se "llama" así), ya que hacemos un sleep hasta bien no tenga el foco.

Luego es cuestión de trabajar con el mismo objecto (wscript.shell) y las teclas correspondientes

KeyArgument
BACKSPACE{BACKSPACE}, {BS}, or {BKSP}
BREAK{BREAK}
CAPS LOCK{CAPSLOCK}
DEL or DELETE{DELETE} or {DEL}
DOWN ARROW{DOWN}
END{END}
ENTER{ENTER} or ~
ESC{ESC}
HELP{HELP}
HOME{HOME}
INS or INSERT{INSERT} or {INS}
LEFT ARROW{LEFT}
NUM LOCK{NUMLOCK}
PAGE DOWN{PGDN}
PAGE UP{PGUP}
PRINT SCREEN{PRTSC}
RIGHT ARROW{RIGHT}
SCROLL LOCK{SCROLLLOCK}
TAB{TAB}
UP ARROW{UP}
F1{F1}
Fx{Fx}


Código
  1. 'siguiendo con el code anterior
  2. objshell.sendkeys "{DOWN}"
  3. objshell.sendkeys "{UP}"

Saludos


« Última modificación: 17 Agosto 2009, 13:38 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines