GetConsoleWindow() [Résolu]

cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention - 5 sept. 2005 à 21:38 - Dernière réponse : cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention
- 7 sept. 2005 à 11:19
Salut a tous j'ai un souci pour utiliser cette fonction. Elle retourne
un HWND identifiant la fentetre de la console, le code est en c++ win32.

Je me sert d'une fenetre console pour rentrer deux-trois données, puis
je veu que le reste s'execute en tache de fond et reste invisible.

en gros voila mon code :



HWND = hWnd ; // creation du handle

/**

...

**/

hWnd = GetConsoleWindow() ; // affectation

ShowWindow(hWnd, SW_HIDE); // disparition de la fenetre



Si qqn peut m'aider son aide est la bienvenue, je ne suis que débutant.

Merci a tous!

MiRaX
Afficher la suite 

Votre réponse

9 réponses

BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 6 sept. 2005 à 21:34
+3
Utile
Une erreur linker tu veux dire ? faut être clair dans les questions, svp.

Si c'est ça:
#define _WIN32_WINNT 0x0500
#include <windows.h>

à mettre dans cet ordre.

ciao...
BruNews, MVP VC++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BruNews
s@ldon 140 Messages postés samedi 1 novembre 2003Date d'inscription 30 septembre 2009 Dernière intervention - 5 sept. 2005 à 22:48
0
Utile
ceci marche(devc++) :



#include <stdio.H>

#include <windows.h>



int main()

{

printf("blabla");

Sleep(500);

HWND wnd = GetForegroundWindow();

ShowWindow(wnd,SW_HIDE);

Sleep(500);

ShowWindow(wnd,SW_SHOW);

return 0;

}
Commenter la réponse de s@ldon
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 5 sept. 2005 à 23:42
0
Utile
qui garantit que pendant le
Sleep(500);
on aura pas mis un autre prog en 1er plan ???

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention - 6 sept. 2005 à 07:54
0
Utile
Ok merci mais a quoi sert la fonction GetConsoleWindow dans ce cas ????? et comment l'utiliser ?

MiRaX
Commenter la réponse de cs_mirax
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 6 sept. 2005 à 09:25
0
Utile
Dixit MSDN: The return value is a handle to the window used by the console associated with the calling process or NULL if there is no such associated console.
C'est très clair, on obtient le handle de la console si on en a fait une.

Ensuite c'est l'éternel problème: pourquoi faire une console si on doit la cacher alors que le prog continue en tache de fond. Tu affiches une dialog avec les EDIT nécessaires et quand les infos sont récupérées, suffit de fermer la dialog et le prog continue sans avoir rien à cacher, voila qui ne consommera pas de ressources inutilement.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention - 6 sept. 2005 à 21:23
0
Utile
Non , j'ai besoin de ma console et qu'elle puisse réapparaitre. Ce n'est pas l'utilisation de la fonction qui me pose probleme mais son l'ecriture de la fonction dans le code source provoque une erreur a la conpilation !

Que faire?

MiRaX
Commenter la réponse de cs_mirax
cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention - 7 sept. 2005 à 07:55
0
Utile
Ok moi javai mis dans l'autre ordre... désolé si g po été clair! mais pourquoi l'ordre est si important ?

Merci

MiRaX
Commenter la réponse de cs_mirax
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 7 sept. 2005 à 08:18
0
Utile
ces constantes servent à limiter l'accès à certaines fonctions, structures, etc... Utile pour ne viser que cetaines platformes anciennes par exemples.

Si la constante n'est pas définie avant d'entrer dans windows.h, c'est windows.h qui la définira et ça dépendra de l'âge de ton sdk.
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x400
#endif

et voila impossible d'accéder aux fonctions win2K et supérieur, donc on définit avant et passe nickel.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_mirax 18 Messages postés lundi 29 novembre 2004Date d'inscription 19 mai 2006 Dernière intervention - 7 sept. 2005 à 11:19
0
Utile
Ok bah merki bien les cours de c en ligne c sympa avec toi!

Merci encore et a+

MiRaX
Commenter la réponse de cs_mirax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.