IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[Win NT + Win 9x] Déterminer si la console est fenêtrée ou plein écran


Sujet :

Windows

  1. #1
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut [Win NT + Win 9x] Déterminer si la console est fenêtrée ou plein écran
    Bonjour !

    Malgré mes recherches, je sèche sur un problème.
    Je cherche le moyen de déterminer si la console Windows est actuellement en mode fenêtré ou en mode plein écran. Le problème est que la méthode doit être valable sur n'importe quelle version de Windows : la famille NT (à partir de 4.0) et la famille 9x.
    A l'aide des routines de l'API communes entre les deux familles, j'arrive à déterminer le handle de la console, à commuter sans problème entre les deux modes mais pas à savoir dans lequel elle se trouve actuellement.

    Merci à celles et ceux qui se pencheront sur la question.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  2. #2
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Je suppose que tu as bien chercher dans la MSDN, ça va m'éviter de chercher à mon tour
    Si tu sais basculer d'un mode à l'autre, alors pourquoi ne pas basculer automatiquement vers un des deux modes et à partir de là conserver cette propriété?
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  3. #3
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par sloshy Voir le message
    Si tu sais basculer d'un mode à l'autre, alors pourquoi ne pas basculer automatiquement vers un des deux modes et à partir de là conserver cette propriété?
    Malheureusement, le basculement se fait de manière identique entre les deux modes. Je n'ai aucune information sur le mode de départ.

    J'ai beaucoup cherché dans la MSDN, sur ce forum et d'autres forums. Je suis peut-être passé à côté de la solution...
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  4. #4
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    On peut savoir quel API tu utilises pour ça? (ça nous donne une base pour faire des recherches nous aussi)
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Pour commuter entre les deux modes, c'est très bourrin mais ça a l'avantage de fonctionner aussi sous Win9x :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Keybd_Event(VK_MENU,$38,0,0);
    Keybd_Event(VK_RETURN,$1C,0,0);
    Keybd_Event(VK_RETURN,$1C,KEYEVENTF_KEYUP,0);
    Keybd_Event(VK_MENU,$38,KEYEVENTF_KEYUP,0);
    (c'est du Pascal, $38 et $1C sont de l'hexa)

    La fonction GetConsoleDisplayMode, qui répond à mes attentes, n'est malheureusement supportée que par XP et Vista.

    Merci à toi en tout cas.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    En faisant des tests, je me demande si je n'ai pas trouvé une piste : lorsque la console est en plein écran, la fonction GetWindowPlacement retourne toujours sw_ShowMinimized dans le champ ShowCmd de la structure WINDOWPLACEMENT.
    Je vais creuser la chose.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  7. #7
    Inactif
    Inscrit en
    Juin 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    La fonction GetConsoleDisplayMode, qui répond à mes attentes, n'est malheureusement supportée que par XP et Vista.
    Depuis NT (msdn n'est pas à jour) puisqu'on trouve des appels dans config.c ou nt_det.c

  8. #8
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Mince, tu as raison : cette fonction était non documentée sous NT, W2K et même Win9x !

    Super, un tout grand merci !
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/09/2011, 16h50
  2. [Win XP] compiler avec gcc dans la console cmd
    Par mimi51340 dans le forum Windows
    Réponses: 15
    Dernier message: 16/06/2008, 21h42
  3. [C# 2.0/WIN CE 5.0] Pourquoi System.Data.SqlClient est introuvable ?
    Par Jones dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/07/2006, 09h14
  4. [D5][Win CE]WIN 2000 vers WIN CE
    Par probo dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 20/05/2005, 16h48
  5. PB d'installation d'UDF avec Win 2000/Win XP et IB 6.0.1
    Par Etienne Bar dans le forum InterBase
    Réponses: 11
    Dernier message: 28/05/2004, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo