GetConsoleWindow()

Résolu
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 - 5 sept. 2005 à 21:38
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 - 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

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 sept. 2005 à 21:34
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++
3
s@ldon Messages postés 140 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 septembre 2009 3
5 sept. 2005 à 22:48
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;

}
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 sept. 2005 à 23:42
qui garantit que pendant le
Sleep(500);
on aura pas mis un autre prog en 1er plan ???

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

MiRaX
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 sept. 2005 à 09:25
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++
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
6 sept. 2005 à 21:23
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
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
7 sept. 2005 à 07:55
Ok moi javai mis dans l'autre ordre... désolé si g po été clair! mais pourquoi l'ordre est si important ?

Merci

MiRaX
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 sept. 2005 à 08:18
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++
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
7 sept. 2005 à 11:19
Ok bah merki bien les cours de c en ligne c sympa avec toi!

Merci encore et a+

MiRaX
0
Rejoignez-nous