Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Meta en 11 Septiembre 2011, 10:15 am



Título: Poner título en C
Publicado por: Meta en 11 Septiembre 2011, 10:15 am
Hola:

(http://social.microsoft.com/Forums/getfile/10546/)

Quiero poner un título por encima de la consola.

Lo he intentado con  Console::Title = "Mensaje desde la parte de la esquina en la ventana de comandos"; pero no me sale.

Si em funciona si pongo Aplicación de consola CLR, en mi caso uso el Win32.

Como se ve en la imagen, quiero poner un nombre, en este caso se ve la dirección del ejecutable.

Un saludo.


Título: Re: Poner título en C
Publicado por: Queta en 11 Septiembre 2011, 11:26 am
http://msdn.microsoft.com/en-us/library/ms686050.aspx (http://msdn.microsoft.com/en-us/library/ms686050.aspx)


Título: Re: Poner título en C
Publicado por: Meta en 11 Septiembre 2011, 11:51 am
Gracias.

Se ve la suma del título más la dirección del programa en la ventanita.

¿Hay alguna forma que solo se muestre el título?


Título: Re: Poner título en C
Publicado por: Queta en 11 Septiembre 2011, 11:58 am
Debería funcionar; en cualquier caso, utiliza GetLastError (http://msdn.microsoft.com/en-us/library/ms679360.aspx (http://msdn.microsoft.com/en-us/library/ms679360.aspx)) para ver si falla.


Título: Re: Poner título en C
Publicado por: Meta en 11 Septiembre 2011, 13:26 pm
Debería salir así, pero me da error.
Código
  1. // Variables_Casas.cpp: define el punto de entrada de la aplicación de consola.
  2. //
  3.  
  4. #include "stdafx.h"
  5.  
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9. // Introducimos el título de la ventana.
  10. SetConsoleTitle("Hola");
  11. printf("Hello");
  12. return 0;
  13. }
  14.  

Error:
1>------ Operación Generar iniciada: proyecto: Variables_Casas, configuración: Debug Win32 ------
1>  stdafx.cpp
1>  Variables_Casas.cpp
1>c:\users\meta\documents\visual studio 2010\projects\variables_casas\variables_casas\variables_casas.cpp(10): error C2664: 'SetConsoleTitleW' : no se puede convertir el parámetro 1 de 'const char [2]' a 'LPCWSTR'
1>          Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========


Título: Re: Poner título en C
Publicado por: Khronos14 en 11 Septiembre 2011, 14:15 pm
Código
  1. #include "stdafx.h"
  2.  
  3.  
  4. int _tmain(int argc, _TCHAR* argv[])
  5. {
  6. // Introducimos el título de la ventana.
  7. SetConsoleTitle(L"Hola");
  8. printf("Hello");
  9. getchar();
  10. return 0;
  11. }
  12.  

Si te fijas te dice en el error, que no se puede convertir char a LPCWSTR. LPCWSTR es un puntero a wchar_t, por lo tanto tienes que utilizar su cast o con L antes de la cadena también sirve.

Saludos.


Título: Re: Poner título en C
Publicado por: Meta en 11 Septiembre 2011, 22:34 pm
muchas gracias campeón.


Título: Re: Poner título en C
Publicado por: M1L0666 en 11 Septiembre 2011, 23:59 pm
Era tan facil como hacer esto:
Código:
#include <windows.h>
#include <iostream>
using namespace std;
int main(){
SetConsoleTitle("Listo");
cin.get();
return 0;
}
No se de donde sacas lo de:

Código:
#include "stdafx.h"

Saludos.


Título: Re: Poner título en C
Publicado por: Eternal Idol en 12 Septiembre 2011, 00:09 am
Es la cabecera precompilada del VC++ ...


Título: Re: Poner título en C
Publicado por: Meta en 12 Septiembre 2011, 00:10 am
Aparece en el Visual C++ 2010 Express.

Si bares el #include "stdafx.h" que tienes al lado, te aparecen estas cabeceras.

Código
  1. // stdafx.h: archivo de inclusión de los archivos de inclusión estándar del sistema
  2. // o archivos de inclusión específicos de un proyecto utilizados frecuentemente,
  3. // pero rara vez modificados
  4. //
  5.  
  6. #pragma once
  7.  
  8. #include "targetver.h"
  9.  
  10. #include <Windows.h>
  11. #include <stdio.h>
  12. #include <tchar.h>
  13.  
  14.  
  15.  
  16. // TODO: mencionar aquí los encabezados adicionales que el programa necesita
  17.  

(http://www.subeimagenes.com/img/011-94533.png)

¿Lo pillas?