Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Proceso en Background

Estas en el tema de Proceso en Background en el foro de C/C++ en Foros del Web. Yo tengo este codigo: #include <stdio.h> #include <stdlib.h> void main (void) { FILE *boot; char string [15] = "Mi Programa\n"; int cont; boot = fopen ...
  #1 (permalink)  
Antiguo 05/11/2006, 01:14
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Proceso en Background

Yo tengo este codigo:

#include <stdio.h>

#include <stdlib.h>



void main (void) {



FILE *boot;

char string [15] = "Mi Programa\n";

int cont;



boot = fopen ("C:\\XeV.txt", "a+");



cont =1;



do {



fputs (string, boot);


cont++;


} while (cont <=10);

fclose (boot);

}


como hago para k se ejecute en el background sin k moleste al usuario?

Última edición por pedro_cesar; 05/11/2006 a las 07:14
  #2 (permalink)  
Antiguo 05/11/2006, 04:32
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
De ninguna manera en ANSI-C. Necesitarás funciones específicas del sistema operativo que estés usando.
  #3 (permalink)  
Antiguo 05/11/2006, 07:13
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Estoy usando el Command Prompt de Windows, en Windows corren muchos procesos en el background, osea que debe de haber una manera de hacerlo, aguien me puede orientar?
  #4 (permalink)  
Antiguo 05/11/2006, 07:21
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Podes usar WinMain para no tener una consola.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 05/11/2006, 07:36
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
k es winmain?
  #6 (permalink)  
Antiguo 05/11/2006, 07:44
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
http://search.msdn.microsoft.com/sea...ns/winmain.asp
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 05/11/2006, 08:42
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
al verdad k no entiendo nadad de lo k hay ahi. Esos son codigos para C?? yo incluyo la libreria pero no se como meter el SW_HIDE en la funcion. :S:S:S:S:S.
  #8 (permalink)  
Antiguo 05/11/2006, 08:46
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Ya veo ... WinMain es una funcion que reemplaza a main en Windows.

Tu programa seria asi:
Código:
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  //codigo aca
}
El parametro nCmdShow podria ser SW_HIDE pero es un parametro de entrada que en este caso no importa, si tenes WinMain no se crea la consola.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #9 (permalink)  
Antiguo 05/11/2006, 09:10
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
#include <stdio.h>
#include <stdlib.h>

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

FILE *file;
char string [15] = "Mi programa\n";
int cont;

file = fopen ("C:\\XeV.txt", "w");

cont =1;

do {

fputs (string, file);

cont++;

} while (cont <=10);
fclose (file);
}

Todavia no funciona. :S
  #10 (permalink)  
Antiguo 05/11/2006, 09:25
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
¿Funcionar? Eso no compila siquiera ... tenes que incluir windows.h para que reconozca cosas como HINSTANCE por ejemplo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 05/11/2006, 09:31
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Antes k nada, MUCHAS GRACIAS por tu tiempo, pero todavia no compila.

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

FILE *file;
char string [15] = "Mi programa\n";
int cont;

file = fopen ("C:\\XeV.txt", "w");

cont =1;

do {

fputs (string, file);

cont++;

} while (cont <=10);
fclose (file);
return 0;
}


-------------------------------------------------------------------------------------
Compiler: Default compiler
Building Makefile: "C:\Documents and Settings\Pedro.CHANGE\My Documents\Documentos\C++\Otros\Virus\Disco Duro\Makefile.win"
Executing make...
make.exe -f "C:\Documents and Settings\Pedro.CHANGE\My Documents\Documentos\C++\Otros\Virus\Disco Duro\Makefile.win" all
gcc.exe -c Virus.c -o Virus.o -I"C:/Dev-Cpp/include"

Virus.c:5: error: conflicting types for 'WinMain'
C:/Dev-Cpp/include/winbase.h:1040: error: previous declaration of 'WinMain' was here
Virus.c:5: error: conflicting types for 'WinMain'
C:/Dev-Cpp/include/winbase.h:1040: error: previous declaration of 'WinMain' was here

make.exe: *** [Virus.o] Error 1

Execution terminated

Última edición por pedro_cesar; 05/11/2006 a las 09:41
  #12 (permalink)  
Antiguo 05/11/2006, 09:43
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
El codigo esta bien, proba con la linea de comandos ya que eso en VC++ compila perfectamente ... no suelo molestarme con otros compiladores y mucho lo voy a hacer para un Virus.c ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #13 (permalink)  
Antiguo 05/11/2006, 09:58
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Lo del nombre es por estar de pretencioso, no vayas a pensar k toy haciendo pa hace maldades ni na, yo estoy haciendo esto pk se me ocurren estas ideas y kiero aprender como hacerlo.

Yo voy a buscar el VC++ a ver.
  #14 (permalink)  
Antiguo 05/11/2006, 10:04
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por pedro_cesar Ver Mensaje
Lo del nombre es por estar de pretencioso, no vayas a pensar k toy haciendo pa hace maldades ni na, yo estoy haciendo esto pk se me ocurren estas ideas y kiero aprender como hacerlo.

Yo voy a buscar el VC++ a ver.
Mejor y mejor; hay versiones del compilador totalmente completas por cierto, con bajar el SDK tenes el mismo compilador que venden (no el IDE claro).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #15 (permalink)  
Antiguo 05/11/2006, 10:44
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
¿Qué pretendes hacer compilando programas en C sin entender las bases?
  #16 (permalink)  
Antiguo 05/11/2006, 10:51
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Mi problema no estaba en el codigo de C, sino en los comandos del sistema. Yo estoy dando introduccion al Lenguaje C en la universidad.
  #17 (permalink)  
Antiguo 05/11/2006, 14:41
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
Mi problema no estaba en el codigo de C, sino en los comandos del sistema. Yo estoy dando introduccion al Lenguaje C en la universidad.
¿Qué comandos de sistema?
  #18 (permalink)  
Antiguo 06/11/2006, 16:20
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Vamos posiblemente lo que pasa con el dev-cpp es que estas compilando para consola. al crea el proyecto dale que sea un proyectod e ventanas para que lo compile como debe.

Aun asi, no creo que sea la manera correcta de hacer un proceso oculto. Mas bien hay que hacer algunas llamadas al sistema operativo para poder agregar el proceso como una especie de servicio.

Saludos
  #19 (permalink)  
Antiguo 06/11/2006, 16:24
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por Instru Ver Mensaje
Aun asi, no creo que sea la manera correcta de hacer un proceso oculto. Mas bien hay que hacer algunas llamadas al sistema operativo para poder agregar el proceso como una especie de servicio.
Lo que tiene que hacer ya se le dijo; no existe ningun tipo de API para ocultar procesos y no es lo que se pidio.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #20 (permalink)  
Antiguo 06/11/2006, 18:04
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
en el Dev C++ compilaria bien como te han indicado, solo tiene que ser un proyecto para Windows.

tambien puedes dejarlo como lo muestras en el primer mensaje si es que te compila. tan solo agregarias en los parametros del enlazador -mwindows. de esta forma tu programa se ejecutara sin mostrar la consola.
  #21 (permalink)  
Antiguo 07/11/2006, 13:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
explicame eso de -mwindows de nuevo Nivel7 por favor.

¿Que es?
¿Como se usa?
  #22 (permalink)  
Antiguo 07/11/2006, 14:46
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
explicame eso de -mwindows de nuevo Nivel7 por favor.

¿Que es?
¿Como se usa?
Te lo ha explicado muy bien, es un parámetro del enlazador. Si no sabes qué es un enlazador, búscalo en Google. Si no sabes que es un parámetro, igual.
  #23 (permalink)  
Antiguo 07/11/2006, 15:53
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
OK. con el Dev lo consigues de esta forma:

Menu: Proyecto/Opciones de proyecto.
Dialogo: Opciones de proyecto/Argumentos para el programa

en la lista Enlazador(Linker) puedes agregar: -mwindows
de esta forma tu programa no mostrara la consola al ejecutarse.
Si te ayuda en tu priposito?..no lo sé.

Saludos.
  #24 (permalink)  
Antiguo 08/11/2006, 08:09
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Nivel7 Ver Mensaje
OK. con el Dev lo consigues de esta forma:

Menu: Proyecto/Opciones de proyecto.
Dialogo: Opciones de proyecto/Argumentos para el programa

en la lista Enlazador(Linker) puedes agregar: -mwindows
de esta forma tu programa no mostrara la consola al ejecutarse.
Si te ayuda en tu priposito?..no lo sé.

Saludos.
En fin. Siempre igual.
  #25 (permalink)  
Antiguo 21/11/2006, 13:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
MUCHAS GRACIAS. Lo de -mwindows lo resuelve, y hace exactamente lo k kiero.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:11.