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 XP Discussion :

Définir la taille que prennent les fenêtres en plein écran


Sujet :

Windows XP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 81
    Points : 65
    Points
    65
    Par défaut Définir la taille que prennent les fenêtres en plein écran
    Bonjour,

    Y a t'il un moyen de définir la taille que doivent prendre les fenêtres quand on les passe en mode plein écran ?

    Je cherche cela pour réserver une zone en haut de l'écran où sera placé un dock. Je pense que cela est possible car lors d'un redimensionnement en plein écran, la taille de la fenêtre prend en compte la présence de la barre des tâches Windows.

    J'ai cherché un peu dans la clé HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO de la base de registre Windows mais je n'ai pas réussi à obtenir ce que je voulais.

    Merci.

    PS : il est bien sûr possible de placer le dock en premier plan pour qu'il soit toujours visible mais du coup dans certaines applications, certaines fonctions ne sont plus accessibles...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Après avoir longuement cherché, je n'ai pas trouvé de solutions simples pour définir manuellement la zone d'affichage des fenêtres maximisées sous Windows.

    J'ai donc tenté la programmation et j'ai trouvé la solution. Voici un petit code qui rétrécit de 50 pixels tous les bords du bureau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <Windows.h>
    #include <iostream>
    
    
    int main()
    {
      using namespace std;
      RECT rect; 
      
      if ( !SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, SPIF_SENDCHANGE) )
      {
        cerr << "error in SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, SPIF_SENDCHANGE)";
        return 0;
      }
    
      rect.top += 50;
      rect.left += 50;
      rect.bottom -= 50;
      rect.right -= 50;
    
      if ( !SystemParametersInfo(SPI_SETWORKAREA, 0, &rect, SPIF_SENDCHANGE) )
      {
        cerr << "error in SystemParametersInfo(SPI_SETWORKAREA, 0, &rect, SPIF_SENDCHANGE)";
        return 0;
      }
      cout << "Your desktop area has been limited to <top,left>:" << rect.top << "," << rect.left << 
        " <bottom,right>:" << rect.bottom << "," << rect.right << endl << "enter a key to exit" << endl;
      char c; cin >> c;
      
      return 1;
    }
    Je vais donc utiliser ce petit code pour l'instant pour réserver la zone d'affichage au dock !
    Par contre, je cherche encore comment et surtout où Windows stocke cette information ??

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    génial. Ca va me premettre de créer un petit espace entre le bord inférieur des fenêtres et le bord inférieur de l'écran pour que je puisse cliquer sur la barre de tâche et la voir apparaître sans avoir à appuyer sur la touche windows (parceque bon, j'ai masqué et placé la barre tâche sous les fenêtres pour avoir de la place et ne plus être emmerdé lorsqu'elle apparaît intempestivement)
    bon, j'ai rien trouvé d'autres sur le net
    alors, pour les bouzeux:
    télécharger devcpp à http://prdownloads.sourceforge.net/d....9.2_setup.exe et l'installer
    ouvrir un nouveau projet (menu file, new, project) choisir application windows, effacer le contenu du prog qui s'y affiche et y copier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <Windows.h>
    #include <iostream>
    int main()
    {
      using namespace std;
      RECT rect; 
      SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, SPIF_SENDCHANGE);
      rect.bottom -= 2;
      SystemParametersInfo(SPI_SETWORKAREA, 0, &rect, SPIF_SENDCHANGE);
      return 1;
    }
    appuyer sur F9 et hop le prog (.exe) est généré dans le répertoire où le projet est stocké. Ensuite faire un raccourci de ce prog puis le couper dans c:\documents and settings\ton nom d'utilisateur\menu demarrer\programme\démarrage (ainsi le prog sera lancé à chaque démarrage de zindozs. Ca ne surchargera pas le processeur par la suite parcequ'il se ferme une fois sa tâche accomplie)
    keskifopafair

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2012, 10h17
  2. [Lazarus] Récupérer les dimensions d'une fenêtre en plein écran
    Par Modulpro dans le forum Lazarus
    Réponses: 6
    Dernier message: 03/05/2011, 16h05
  3. Fenêtre en plein écran lors du lancement d'un site
    Par licorne dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/02/2007, 11h07
  4. Fenêtre Access Plein écran
    Par smicky77 dans le forum Access
    Réponses: 16
    Dernier message: 15/02/2006, 11h24
  5. Comment ouvrir une fenêtre en plein écran ?
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/10/2005, 12h05

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