begin process at 2012 02 10 08:55:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > COULEUR SOUS DOS [VC++]

COULEUR SOUS DOS [VC++]


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Initié Date de création :07/06/2002 Date de mise à jour :07/06/2002 11:39:34 Vu :5 415

Auteur : Manson

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Pour tout ceux qui en ont marre de ne pas savoir comment on fait, j'ai enfin reussi a le faire, mettre de la couleur sous DOS par VC++. Donc je le donne parce que je sais que ca va enlever de grosses epines du pieds a certain. J'ai mis des p'tits commentaires.

Donc faut creer un projet DOS ! :o)  

Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • #include <Windows.h>
  • #include <Winbase.h>
  • #include <conio.h>
  • #include <dos.h>
  • CONSOLE_SCREEN_BUFFER_INFO csbiInfo; // structure dans laquelle on va stocker les infos
  • // sur le cmd avant de les changes.
  • void main()
  • {
  • HANDLE HCmd = GetStdHandle(STD_OUTPUT_HANDLE); //on se creer un
  • // handle de sortie sur le cmd.
  • char *Mess; // vous verrez un peu plus bas pourquoi.
  • GetConsoleScreenBufferInfo(HCmd, &csbiInfo); //on choppe les infos du cmd
  • // et on les stocks
  • printf("En gris pas beau !\n");
  • getch();
  • // on change la couleur du text, pour le fond c'est le meme principe.
  • SetConsoleTextAttribute(HCmd, FOREGROUND_RED|FOREGROUND_INTENSITY);
  • Mess = "En rouge un peu plus beau !\n";
  • WriteConsole(HCmd, Mess, strlen(Mess), (unsigned long *)strlen(Mess), NULL);
  • getch();
  • // autre methode pour ecrire dans le cmd, a part le printf()
  • SetConsoleTextAttribute(HCmd, FOREGROUND_BLUE|FOREGROUND_INTENSITY);
  • printf("Moi c'est celui la que je prefere !\n");
  • getch();
  • // on remet les anciens attributs au cmd
  • SetConsoleTextAttribute(HCmd, csbiInfo.wAttributes);
  • printf("On revient a la couleur de base !\n");
  • }
  • /*
  • Et voila tout les codes de couleurs !
  • FOREGROUND_BLUE
  • FOREGROUND_GREEN
  • FOREGROUND_RED
  • FOREGROUND_INTENSITY
  • BACKGROUND_BLUE
  • BACKGROUND_GREEN
  • BACKGROUND_RED
  • BACKGROUND_INTENSITY
  • Bon apres vous pouvez creer vous meme les couleurs, elles sont definies comme ca :
  • #define FOREGROUND_RED 0x0004
  • Donc faut juste convertir en hexa.
  • Un exemple ?!!!!
  • Pour du Cyan :
  • #define MY_FOREGROUND_CYAN 0x0003
  • */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h>
#include <Winbase.h>
#include <conio.h>
#include <dos.h>

CONSOLE_SCREEN_BUFFER_INFO csbiInfo; // structure dans laquelle on va stocker les infos
                                                               // sur le cmd avant de les changes.

void main()
{
	HANDLE	HCmd = GetStdHandle(STD_OUTPUT_HANDLE); //on se creer un
                                                // handle de sortie sur le cmd.

	char *Mess; // vous verrez un peu plus bas pourquoi.

	GetConsoleScreenBufferInfo(HCmd, &csbiInfo); //on choppe les infos du cmd
                         // et on les stocks

	printf("En gris pas beau !\n");

	getch();

                 // on change la couleur du text, pour le fond c'est le meme principe.
	SetConsoleTextAttribute(HCmd, FOREGROUND_RED|FOREGROUND_INTENSITY);

	Mess = "En rouge un peu plus beau !\n";

	WriteConsole(HCmd, Mess, strlen(Mess), (unsigned long *)strlen(Mess), NULL);

	getch();

                 // autre methode pour ecrire dans le cmd, a part le printf()
	SetConsoleTextAttribute(HCmd, FOREGROUND_BLUE|FOREGROUND_INTENSITY);

	printf("Moi c'est celui la que je prefere !\n");

	getch();

                // on remet les anciens attributs au cmd
	SetConsoleTextAttribute(HCmd, csbiInfo.wAttributes);
	
	printf("On revient a la couleur de base !\n");
} 

/*
Et voila tout les codes de couleurs !

FOREGROUND_BLUE
FOREGROUND_GREEN
FOREGROUND_RED
FOREGROUND_INTENSITY
BACKGROUND_BLUE
BACKGROUND_GREEN
BACKGROUND_RED
BACKGROUND_INTENSITY 

Bon apres vous pouvez creer vous meme les couleurs, elles sont definies comme ca :

#define FOREGROUND_RED       0x0004

Donc faut juste convertir en hexa.

Un exemple ?!!!!

Pour du Cyan :

#define MY_FOREGROUND_CYAN       0x0003

*/ 

 Conclusion

Voila, j'espere que comme je le pense j'ai aide bcp de personnes.

Pour tout commentaires, questions ... no pb !  


 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

Commentaires et avis

Commentaire de ADN733R le 07/06/2002 11:12:23

bien.Je n'ai pas testé le code. Pourrais tu mettre le code de toutes les couleurs???
Ce code nécessite t-il ansi.sys???

Commentaire de Manson le 07/06/2002 11:32:07

ansi.sys ? Non !

Ok je met a jour le source !

Commentaire de jmz le 04/09/2002 11:35:43

Super, j'ai pu débloquer ma situation ...!!!

Existe-t-il une liste hexa des couleurs ? ou un mode de calcul ou convertion ?

Merci, A+

Commentaire de Manson le 10/09/2002 11:26:26

Je te tiens au courant demain soir, la je suis po chez moi, donc peut pas t'aider.C'est pas vraiment de l'hexa, paske pour le 0x0004, pour le rouge, si tu met un 1 a la place du 0 devant le 4, tu change en meme temps la couleurs de fond du texte. Sinon, chez moi je mettais fait un include avec pas mal de couleur.

Commentaire de Manson le 10/09/2002 11:26:43

Je te tiens au courant demain soir, la je suis po chez moi, donc peut pas t'aider.C'est pas vraiment de l'hexa, paske pour le 0x0004, pour le rouge, si tu met un 1 a la place du 0 devant le 4, tu change en meme temps la couleurs de fond du texte. Sinon, chez moi je mettais fait un include avec pas mal de couleur.

Commentaire de moudugenou le 15/06/2003 20:34:19

desole mais on a pas encore compris ce qu'était le cmd, on sait, on est proche du neant, ok d'accord, on ne se fache pas, mais on pourrait nous aider ?
merci d'avance
le trio de choc !

Commentaire de Manson le 28/06/2003 12:48:23

le cmd c'est l'emulation de MS-Dos. C'est une fenetre toute noire ou on tape des lignes de commandes.
Si tu as 2k/XP/NT fais demarrer, executer, et tape cmd, si tu es sous 98/95, tape command.com (je crois). Et voila c'est ca le cmd.

Arno

Commentaire de spidermario le 29/07/2006 15:29:40

J'ai encore plus simple :
#include <stdlib>
// Ou
#include <iostream>
int main()
{
system("color 70"); // ou tout autre combinaison de couleur, vous pouvez connaître les couleurs possibles avec
system("help color");
return 0;
}

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales