Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2013, 19:29
Avatar de Julcar
Julcar
 
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 5 meses
Puntos: 54
Ayudita con Batch (Simular escribir con el teclado)

Hola a todos, esta vez tengo lo siguiente:

Código:
@ECHO OFF
CD C:\IndiFTPd
(
ECHO Admin2
ECHO Password
ECHO Password
ECHO C:\
ECHO lcpduoamn
) | indiftpd.exe -a
CD ..
Este codigo Batch muy sencillo lo que hace (o deberia hacer) es guardar nuevos usuarios en una base de datos pequeña para un servidor FTP pequeño (el indiftpd.exe)

El problema es, que al momento de guardar la password, el indiftpd.exe pasa de largo tanto la introduccion como la verificacion de la misma...

Investigando el codigo del Indiftpd me encuentro con esto:

Código:
      do {
          c = getch();
          *(buffer+i) = c;
          if (c == 8) {    //if Backspace was pressed
              if (i > 0)
                  i--;
          } else {
              i++;
          }
      } while (c != '\n' && c != '\r' && i < maxbuffersize-1);
      *(buffer+i) = '\0';
Si se fijan, he resaltado la funcion getch() como la causante de mi problema, sencillamente dice aquí

Cita:
Lee un solo carácter directamente desde el teclado, sin mostrar tal carácter en pantalla.
Entonces el problema es que no va a leer la consola como si ocurre con los otros datos, sino que solo lo hara desde el teclado...

Aqui viene mi interrogante: ¿Existe algun metodo para "simular" pulsaciones de las teclas para escribir la palabra deseada?

Espero me puedan ayudar...

Saludos.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"