Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ocultar linea de comandos

Iniciado por alberizo, 02 de Julio de 2006, 09:24:20 PM

« anterior - próximo »

alberizo

Estoy haciendo una aplicacion de consola en C++ pero quiero ocultarla, hace un par de semanas lo hize, pero no recuerdo el parametro que se le pasa, me suena que era /NODEFAULT pero no es....
Uso .NET 2005.

alberizo

por fin, ya lo encontre, x si a alguien le es útil, configurar el linker como:

/subsystem:windows /entry:main

o mejor en el código:

#pragma comment(linker, "/subsystem:windows /entry:main")

samsaga2

No acabo de comprender cual es la utilidad de esconder el terminal en una aplicación de consola.

¿Porque no creas directamente un proyecto tipo Win32 y listo?


alberizo

jeje, esa es una de las opciones, pero ese no es mi cometido ;)

seguro que habeis usado alguna aplicacion de terceras partes en la que se te muestra una ventana de dos con mensajes (x ejemplo los motores Crystal Space o Irrlicht). Para el programador la linea de comandos esta genial para ver errores, pero para el usuario final queda feo, mejor un archivo de log.

Estoy utilizando Irrlicht el cual es multiplataforma, y podria crear una aplicación basada en dos como en win32, pero para asegurarme que va a funcionar en todas las plataformas e optado por usar una basada en dos.
Esa es la finalidad en mi caso ;)

¿Alguno habeis utilizado Irrlicht y ha comprobado la multiplaforma?

zupervaca

Yo tuve la misma situacion que tu con la libreria multi-todo, al final opte por lo que me dijeron, que es esto:


// Entrada del app
#if defined(_WIN32)
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
#else
int main()
#endif
{
//...
}

El tipo de proyecto en windows debe ser de win32, yo no uso esa constante que puse, pero me parece que el visual studio es la que usa para saber si es o no una aplicacion de windows.
La forma que indicas no la conocia.

Marci

A mi me paso lo mismo usando Irrlicht y creo recordar que en dev c++ aparece una opcion en la gestion del proyecto para ocultar la consola. A ver si cuando llegue a casa localizo donde aparecia

Zaelsius

Recomiendo la misma solución que plantea Zupervaca, que es la que solemos utilizar en nuestros proyectos multiplataforma.

@Alberizo: si de verdad quieres que tu proyecto sea multiplataforma, te aconsejaría que comenzases a compilar y testear en todas las plataformas desde el principio.

samsaga2

Si quieres que el codigo sea multiplataforma la mejor opcion es la que te da zupervaca.

Si lo que te preocupa es mostrar informacion varia mientras estas programando puedes usar la funcion del VC++ OutputDebugStr que envia un string a la ventana de depuracion del Visual.

escobar

Cita de: "zupervaca"Yo tuve la misma situacion que tu con la libreria multi-todo, al final opte por lo que me dijeron, que es esto:


// Entrada del app
#if defined(_WIN32)
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
#else
int main()
#endif
{
//...
}

El tipo de proyecto en windows debe ser de win32, yo no uso esa constante que puse, pero me parece que el visual studio es la que usa para saber si es o no una aplicacion de windows.
La forma que indicas no la conocia.

Gracias por el code, esto lo andaba buscando.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.