C/Visual C - COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

 
Vista:

COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por cristian (11 intervenciones) el 16/11/2004 01:55:19
NECESITO QUE AL EJECUTAR MI PROGRAMA NO SALGA LA VENTANA NEGRA DE DOS Y SOLO ME CREE UN ARCHIVO ,ES COMO COLOCAR @ECHO OFF EN BATCH PERO EN C NO SE COMO HACER PARA QUE DICHA VENTANA NO APARESCA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por fernando.gomez (1603 intervenciones) el 16/11/2004 16:35:07
No estoy seguro, pero puedes intentar con:

system("@echo off");

La función system se supone que ejecuta el comando del sistema operativo que le pases como parámetro... igual y te funciona.

En todo caso, quizás te convenga que tu programa no sea de consola. Por ejemplo, un programa de Windows. En vez de main empleas WinMain y listo. Ejecutas tu programa normal y ya.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por Mariela Astudillo Alvear (1 intervención) el 24/04/2011 23:17:04
estoy imprimiendo un tema pero me sale lo que imprimi anteriormente que debo hacer y tambien como le quito a word, unos cuadritos que han salido y no puedo hacer ninguna carta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por Pedro (1 intervención) el 16/11/2004 23:43:50
¿Cómo se puede contestar semejante idiotez?
La gente contesta lo que quiere con tal de contestar...

Dios Mío, perdonalos porque no saben lo que dicen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por fernando.gomez (1603 intervenciones) el 17/11/2004 00:57:51
A ver señor, ¿entonces cuál es la respuesta?

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para el tío que no supo leer

Publicado por fernando.gomez (1603 intervenciones) el 17/11/2004 01:08:42
¿Acaso sabes si quiera que fué lo que quise decir? ¿Entiendes los conceptos que manejé? A ver, transcribo mi correo con cuidado, te pido releas y trates de entender su significado:

<!--
No estoy seguro, pero puedes intentar con:

system("@echo off");

La función system se supone que ejecuta el comando del sistema operativo que le pases como parámetro... igual y te funciona.

En todo caso, quizás te convenga que tu programa no sea de consola. Por ejemplo, un programa de Windows. En vez de main empleas WinMain y listo. Ejecutas tu programa normal y ya.
-->

Por si no lo entendiste de nuevo, te lo explico con manzanas. La primera manzana representará una opción en la cuál aclaro que no estoy seguro del resultado, pero que puede hacer la prueba. En otras ocasiones ya he planteado en este foro cómo resolver problemas empleando las mismas funciones del DOS. Así que una opción es seguir la misma tónica. ¿Por qué doy una respuesta sin probarla antes? Bueno, sencillo. Primero, no tengo tiempo de estar averiguando toooooodos los problemas, y segundo, la segunda opción que planteo funciona y funciona bien, de tal suerte que si falla la primera, siempre estará la segunda opción.

¿Acaso sabes lo que es un programa en Windows? ¿Entiendes como trabaja? ¿Te tomaste la molestia, siquiera, de probar el resultado? No, claro que no. Eso sí es alegar y decir sandeces a lo tarugo. Dios mío, perdónale.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por cristian (11 intervenciones) el 17/11/2004 16:04:32
haber la pregunta la hice yo y no la considero para nada una estupidez ni nada parecido cuando uno sabe algo lo pregunta y ya que para eso estan estos foros no para descalaficar a los demas, para eso existen otros lugares, otra cosa si es tan obvia la respuesta y riducula y todo lo que quieras por que no me la contestas tu estoy hablando de pedro no de fernando gomez que se nota que el si sabe y se lo agradesco por siempre tratar de dar una respuesta . ahh yo probe la funcion system como salia en internet system("dir") ,y como me lo dijiste tu pero y de varias maneras mas pero no me resulto ,bueno ni modo ahhhhh y para otra que alguien quiera juzgar la pregunta de otro que la piense 3 veces ante de el mismo decir tantas tonterias juntas, si es un sabelo todo pues entonces para que entra al foro? no deberia ayudarnos a los que sabemos menos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por JoseGR (41 intervenciones) el 18/11/2004 09:34:01
Hola, si lo que quieres es invocar desde un programa en C/C++ un comando desde el interprete de los mismos (ms-dos) y no quieres que aparezca la ventana, no puedes usar system() ya que lo primero que hace es abrir la dicha ventana, para hacer lo que quieres usa la siguiente funcion:

// Ejecuta en el interprete de comandos la cadena indicada en cmdLine
// retorna 0 si fue satisfactoria la ejecucion, sino el codigo de error
// que ocurrio.
int execute(char *cmdLine)
{
PROCESS_INFORMATION procInfo;
STARTUPINFO startInfo;

ZeroMemory(&procInfo, sizeof(procInfo));
ZeroMemory(&startInfo, sizeof(startInfo));

startInfo.cb = sizeof(startInfo);
startInfo.dwFlags = STARTF_USESHOWWINDOW;
startInfo.wShowWindow = SW_HIDE; // esto indica ventana oculta

if (CreateProcess(NULL, cmdLine, NULL, NULL, true,
NORMAL_PRIORITY_CLASS, NULL, NULL, &startInfo,
&procInfo) == 0)
return (int) GetLastError();

// Espera a que termine la ejecucion del interprete
WaitForSingleObject(procInfo.hProcess, INFINITE);
CloseHandle(procInfo.hProcess);
CloseHandle(procInfo.hThread);

return 0;
}

Deberas incluir "windows.h".

El parametro cmdLine debe comenzar por "cmd /c ",
ej: "cmd /c copy *.* d:"

Si quieres ejecutar una secuencia de comandos encadenalos con ampersand. ej: "cmd /c c: & cd temp & dir"

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO HAGO PARA QUE NO SALGA LA VENTANA DE DOS

Publicado por JoseGR (41 intervenciones) el 18/11/2004 09:42:47
Corrigiendo un error de la nota anterior:

El comentario de la funcion:

// Ejecuta en el interprete de comandos la cadena indicada en cmdLine
// retorna 0 si fue satisfactoria la ejecucion, sino el codigo de error
// que ocurrio.

Es incorrepto, el adecuado seria:

// Ejecuta un proceso sin ventana con la cadena indicada en cmdLine,
// la funcion no retorna hasta que termina la ejecucion del proceso.
// retorna 0 si fue satisfactoria la ejecucion, sino el codigo de error
// que ocurrio.

Con esta funcion puedes ejecutar un programa en concreto,
(ej. c:\appls\programa.exe) o el interprete de comandos (que es un programa mas).

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar