Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DrKillador en 24 Noviembre 2012, 13:20 pm



Título: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: DrKillador en 24 Noviembre 2012, 13:20 pm
Hola foreros, estoy haciendo una aplicacion en C de consola pero que deseo que se ejecute sin que se vea la consola.

He conseguido hasta el momento ocultar la consola tras iniciarse la aplicación, llamando a la siguiente función desde el comienzo del main(), pero me muestra durante medio segundo la ventana del CMD. Os dejo el código por si a alguno os es útil:

Código:
void hideWindow(int hide)
{
    if(hide)
    {
        HWND   console;
        console = FindWindowA("ConsoleWindowClass",NULL);
        ShowWindow(console,SW_HIDE);
    }
}

¿Sabéis qué puedo hacer para que no aparezca desde el inicio la consola?

He leído bastante en el foro antes de postear y he visto que se ha preguntado anteriormente pero las soluciones propuestas no me han funcionado.

Gracias!


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: r@mbyte en 24 Noviembre 2012, 18:46 pm
esto no va aqui va en la sección de c y c++

http://foro.elhacker.net/programacion_cc/esconder_consola_c-t239979.0.html
http://foro.elhacker.net/programacion_cc/ocultar_shell_en_c-t165492.0.html


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: DrKillador en 25 Noviembre 2012, 12:42 pm
Hola r@mbyte, si mal no recuerdo, lo había publicado en la sección C/C++ y creo que ningún moderador lo ha movido, así que ahi sigue estando.

Secciones aparte, efectivamente había leído esos artículos, gracias por pasarmelos, pero no me funcionan sus propuestas

La propuesta de JuaN-ThE-HaCKeR siguiente es igual que la que indiqué arriba, y muestra la consola medio segundo aproximadamente antes de ocultarse, por lo que no me valdría:

Código:
HWND stealth;
AllocConsole();
stealth=FindWindowA("ConsoleWindowClass",NULL);
ShowWindow(stealth,0);

Su otra propuesta, la de hacer una aplicación WinMain, me funciona a medias, me explico. Estoy usando Codeblocks, inicio un nuevo proyecto de Aplicación de Windows y me precarga el código de ejemplo. En ese código aparece una llamada a la función "ShowWindow (hwnd, nCmdShow);", comentandola simplemente ya no me muestra la ventana con el formulario, pero me sigue mostrando la ventana del CMD y además me da mil errores de compilación al portar mi codigo al nuevo proyecto...

Estoy atascado en la mayor chorrada de mi proyecto lo se :/

Gracias por la ayuda


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: fary en 25 Noviembre 2012, 16:53 pm
Usas codo IDE Code::Blocks por casualidad?

saludos.


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: DrKillador en 26 Noviembre 2012, 18:57 pm
Hola mDrinky, efectivamente uso ese

Gracias!


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: fary en 27 Noviembre 2012, 21:36 pm
Aquí tienes la solucion.

http://forums.codeblocks.org/index.php?topic=9802.0

un saludo.


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: NeoB en 27 Noviembre 2012, 22:14 pm
Si usas gcc de windows (mingw o algo así...), añade la opción -mwindows


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: DrKillador en 28 Noviembre 2012, 19:15 pm
Acertaste mDrinky  :D

Mil gracias bro!

Gracias a NeoB por su idea tambien, la habia probado anteriormente y no me dio resultado

saludos


Título: Re: [DUDA] Ejecutar aplicación en C sin que aparezca la consola
Publicado por: fary en 28 Noviembre 2012, 20:35 pm
Ne nada  :P