Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Citrusl en 14 Noviembre 2014, 22:20 pm



Título: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: Citrusl en 14 Noviembre 2014, 22:20 pm
Cómo hago para crear dor programas que realizen lo siguiente:

Abro el programa1... este se cierra automaticamente/manualmente y cuando está cerrado abre el programa2.

Se abre el programa2 que se cierra automaticamente/manualmente y cuando está cerrado abre el programa1...

Eso en un bucle infinito.

Sé como crear los archivos, pero cómo hago para que cuando se cierre me abra el otro?  :huh:


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: ivancea96 en 14 Noviembre 2014, 22:22 pm
En el final de cada programa, escribir un "system("start programa2")" ?


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: Citrusl en 14 Noviembre 2014, 22:45 pm
Tengo esto... y ahora que hago?

Código:
#include <windows.h>
#include <stdio.h>

int main(){

FILE *txt;
txt=fopen("PROGRAMA1.txt","r");

if(!txt)
        {
                txt = fopen("PROGRAMA1.txt", "w");
                printf("\n Archivo creado! ");
        }

}


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: ivancea96 en 14 Noviembre 2014, 23:36 pm
Poner esa linea que escribí arriba al final. Quizás poniendo "start /I ..." vaya mejor.


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: daryo en 14 Noviembre 2014, 23:53 pm
En el final de cada programa, escribir un "system("start programa2")" ?
el problema es que eso no ofrece ningun control . se abrira una y otra vez hasta llenar la memoria.Podrias hacer que el programa 1 busque el proceso del 2 y el programa 2 busque el proceso del 1.


creo que buscas algo como esto:
http://foro.elhacker.net/programacion_cc/source_aciendo_un_proceso_inmortal-t186943.0.html


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: Citrusl en 15 Noviembre 2014, 00:39 am
Gracias! Es un buen ejemplo pero es mucho más complicado.  :o

Buscaba algo más simple. Ese codigo usa inyección de dlls, eso es algo más avanzado. Conozco poco y nada sobre eso. Ni siquiera sé como runearlo.

Hay una manera más simple?

Con el System puedo hacer que me abra el editpad. Pero Cómo le puedo decir que se cierre y me abra el otro y empieze el loop infinito?

  :huh:


Título: Re: Dos programas (Manual y Automático) que no se cierren? [C/C++]
Publicado por: rir3760 en 15 Noviembre 2014, 02:15 am
Con el System puedo hacer que me abra el editpad. Pero Cómo le puedo decir que se cierre y me abra el otro y empieze el loop infinito?
Puedes utilizar el comando start con la opción /wait para que este espere hasta que la aplicación se cierre, un ejemplo:
Código
  1. #include <stdlib.h>
  2.  
  3. int main(void)
  4. {
  5.   while (1){
  6.      system("start /wait notepad.exe");
  7.      system("start /wait calc.exe");
  8.   }
  9.  
  10.   return EXIT_SUCCESS;
  11. }

Un saludo


Título: Re:
Publicado por: ivancea96 en 15 Noviembre 2014, 10:38 am
Al decir que tenías dos programas, he supuesto que ambos los has creado tú.