Pipes

Iniciado por Ertai, 13 Septiembre 2005, 20:46 PM

0 Miembros y 1 Visitante están viendo este tema.

{_The_Alwar_}

No te entendio muy bien, no se que es un tunel. Yo lo que si tenia ganas de hacer era de una aplicacion en visual basic, pero que mostrara las cosas en la consola, como el C, sin tener forms ni nada, pero no se como hacerlo, tendre que aprender C

Saludos!!

Slasher-K

Para poder enviar comandos establece el registro hStdIn de la estructura STARTUPINFO al valor de hReadPipe, de esa forma va a leer los datos que haya en la pipe.

Para escribir en la pipe y que ejecute los comandos usa WriteFile.

No tengo tiempo, por eso ando pasando poco por el foro, pero en cuanto pueda a ver si escribo algo de código... El código anterior es bastante malo, existen funciones que te indican la cantidad de datos (en bytes) que hay sin leer, te permiten leer la pipe y otras.

Para más información miren el siguiente link en MSDN que explica todo el funcionamiento de los pipes y la manera de implementarlos.

Pipes en Windows

Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

Chief

gracias .Polux !! !! !!   :D

Veo que le das gran uso a la MSDN, Voy a empezar a hacer lo mismo.
Salu2!, y gracias de vuelta.
sr. oscuro


Chief

Hola de vuelta yo, jeje ;D.
Ya con un poco mas de informacion encontre este codigo para VB de named pipes, funciona exelentemente bien.

Les dejo el link por si a alguien le interesa, es recmendable que le hechen una ojeada al code.

Pipes

Salu2!! ;)
sr. oscuro


Ertai

Bua!

Gracias Chief y Slasher!

Alguien revivio mi post!! xDD

Escucha, a tí te da a veces errores al usar la pipe??

Es que a mi sí, y se me cuelga.

Y has conseguido responder a la consola? Es que no estoy ahora en mi ordenador y no puedo probarlo  >:( >:( :-\

Saludos!
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Chief

Hola Ertai

CitarAlguien revivio mi post!! xDD

Si es fui yo XDDDD jeje, lo resusite.

Te referis al code del link que deje? ?

Si es ese ami me va perfecto, con ese codigo si se puede responder a la consola, yo lo probe creando una un valor alfanumerico en una clave cualquiera y despues la borre con la pipe te dice si estas seguro de eliminar el el valor (Y/N?) y le mando "y" y dice que se completo la operacion con exito, y la borra.

No me fije muy bien como funciona el code, pero he visto que crea dos pipes con los valores que dice Slasher para leer y escribir en el pipe, pero algo que he visto muy rapidamente para matar su proceso como por si se cuelga o algo asi.

salu2!!   ;D
sr. oscuro


Ertai

OK, cuando este en mi ordenador o probaré y te diré que tal.

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Ertai

Va perfecto.

Pero el comando edit archivo.txt no funciona no?

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Chief

#18
A no ese no, lo probe, es como que el pipe recibe los bytes pero no los podemos visualisar en la aplicacion.
Pero en lo demas si va perfecto.

Salu2!!

Y una cosa que me olvidaba, poniento edit archivo.txt es como que quedas dentro del editor, y si envias otro comando como dir no recivis respuesta, es como que se cuelga. Cuando cerras la aplicacion te dice que si queres finalizar tarea, la del cmd.exe

Ahora si, salu2! Ertai
sr. oscuro