Vsc++ fenetre dos windows

Résolu
Utilisateur anonyme - 15 juil. 2006 à 03:26
 Utilisateur anonyme - 16 juil. 2006 à 20:28
J'utilise vsc++ et j'ai besoin de faire une application ou l'on voit la  fenetre Windows et celle du dos.
J'ai donc regardé sur la msdn et j'ai vu qu'il fallait mettre comme dernier argument a WinMain, SW_SHOW.
Mais j'obtient des erreurs de compilation lorsque je remplace int iCmdShow
par SW_SHOW:
erreur de syntaxe : 'constant' et impossible de surcharger la fonction WinMain

WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, SW_SHOW)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/winmain.asp

Merci d'avance pour votre aideMaLaDeDeDe 97one 

9 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
16 juil. 2006 à 16:49
Dans ce cas, créé ton programme en mode console et récupère le HINSTANCE nécessaire pour CreateWindow avec GetModuleHandle.

Écoute, moi je te conseillerais de carrément laisser tomber les consoles. Créé un fenêtre et une cosonle, c'est un paquet de problèmes. Alors c'est un ou l'autre mais les deux, ce n'est pas une très bonne idée.

C++ (@++)
___________________________________________
Venez débattre de sujets touchant à la programmation ici
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
15 juil. 2006 à 04:31
Ça ne fonctionne pas du tout comme ça. Tu place un valeur dans un paramètre d'une fonction.
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

Ce que la documentation voulait dire c'est que le dernier paramètre PEUT être égal à SW_SHOW.
Cette valeur est utilisable avec ShowWindow:

...
ShowWindow(hWnd, SW_SHOW);
...

qui est nécessaire (je crois) dans la création d'une fenêtre via l'API directement.

Consulte les sources sur ce site qui utilise une fenêtre pour bien comprendre comment fonction le GUI

C++ (@++)
___________________________________________
Venez débattre de sujets touchant à la programmation ici
0
Utilisateur anonyme
15 juil. 2006 à 06:01
ok merci j'ai commencé a chercher comment récuperer l'handle de la console mais j'ai pas trouvé
Tu as une idée ?
je vais continué a chercher....

MaLaDeDeDe 97one 
0
Utilisateur anonyme
15 juil. 2006 à 18:11
Slt j'ai eu plusieurs piste:
ShowWindow(GetConsoleWindow(), SW_SHOW);
GetConsoleWindows() retournant l'handle de la console du process en cours,... mais helas aucune fenetre n'apparait.

et j'ai aussi ésséyé  AllocConsole(); qui creer la fenetre console du process en cour mais hellas les printf qui suive  cette fonction n'écrive rien dans la console :(

MaLaDeDeDe 97one 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
16 juil. 2006 à 01:38
WriteConsoleOutput si les printf ne fonctionne plus

Documentation MSDN ici

C++ (@++)
___________________________________________
Venez débattre de sujets touchant à la programmation ici
0
Utilisateur anonyme
16 juil. 2006 à 02:00
oui merci
Mais ca me fait modifier tous un programme et puis printf c'est tou simple il y a %s %d %f ect.......
Quelqu'un n'aurait pas un moyen ????
MaLaDeDeDe 97one 
0
Utilisateur anonyme
16 juil. 2006 à 17:38
Parfait merci :)

C'est que moi je ss un ancien dev-c++
Et pour déboguer j'utilie plein de petit printf de sleep et de bip pour savoir ou en est le programme et afficher des valeur^^
Alors avec la console dos c'est plus simple pour moi

MaLaDeDeDe 97one 
0
Utilisateur anonyme
16 juil. 2006 à 20:08
Mais GetModuleHandle renvoi un type: HMODULE

MaLaDeDeDe 97one 
0
Utilisateur anonyme
16 juil. 2006 à 20:28
Non sebon tu as raison ca retourne bien l'handle de l'application.
Mais ce que je comprend pas c'est que je fais 2 application differente et elle ont le meme HHANDLE !!!!

MaLaDeDeDe 97one 
0
Rejoignez-nous