[Windows] CreateConsoleScreenBuffer

CreateConsoleScreenBuffer [Windows] - C - Programmation

Marsh Posté le 31-01-2004 à 17:43:41    

Vous pouvez essayer chez vous et dire si ça marche ?
Chez moi ça me renvoie l'erreur Descripteur non valide, pas cool :/
(testé sous XP&2K / VC7.1&GCC)

Code :
  1. #include <windows.h>
  2. int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
  3.     HANDLE hCon ;
  4.    
  5.     hCon = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE,
  6.                                      0,
  7.                                      NULL,
  8.                                      CONSOLE_TEXTMODE_BUFFER,
  9.                                      NULL) ;
  10.     if(hCon == INVALID_HANDLE_VALUE) MessageBox(NULL, "coin", "coin", MB_OK) ;
  11.     CloseHandle(hCon) ;
  12. }


Message édité par *syl* le 31-01-2004 à 17:43:59
Reply

Marsh Posté le 31-01-2004 à 17:43:41   

Reply

Marsh Posté le 31-01-2004 à 19:16:58    

Appelle GetLastError.
Je peux pas tester ici, mais WinMain, ca te fait pas un prog console. Donc, pas de console créée, donc je sais pas ce que l'appel à cette fonction peut donner...
Tente de faire un AllocConsole avant, ou un prog console.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 31-01-2004 à 20:26:49    

HelloWorld a écrit :

Appelle GetLastError.

Déjà fais sinon comment j'aurais pu donner le message d'erreur ? :D
 

Citation :

Je peux pas tester ici, mais WinMain, ca te fait pas un prog console. Donc, pas de console créée, donc je sais pas ce que l'appel à cette fonction peut donner...

Oui je sais, je veux juste créer plusieurs console dans mon appli graphique..
 

Citation :

Tente de faire un AllocConsole avant, ou un prog console.

J'ai ajouté AllocConsole() devant, ça marche mais j'en veux pas parce que je veux pas l'afficher et qu'il m'en faut plusieurs alors qu'avec cette fonction je peux en avoir qu'une attachée au process..
J'vais voir du côté de CreateFile() pour en créer, j'avais trouvé ça dans la MSDN..
 
Merci pour le coup de pouce, ça m'a débloqué (je regardais l'exemple dans la MSDN et eux attaquaient directement la fonction CreateConsoleScreenBuffer mais dans un main() et non un WinMain(), c'est pour ça que ça marchait pas chez moi ;))
 
 :hello:


Message édité par *syl* le 31-01-2004 à 20:27:37
Reply

Marsh Posté le 01-02-2004 à 04:10:39    

Tu ne peux pas avoir plus d'1 console par process.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed