Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS DELPHI F.A.Q DELPHI TUTORIELS DELPHI LIVRES COMPOSANTS SOURCES DEFI TELECHARGEZ DELPHI TV
Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES ARTICLES NONOVISU ACCUEIL NOUVELLES
Retour à l'accueil
37 - LISTER LES MONITEURS DISPONIBLES

PRÉSENTATION : Ce programme affiche la liste des moniteurs
ZIP : Téléchargez le zip : miroir 1 , miroir 2 APERÇUS :

NOTES : C'est en réponse à une question dans un forum.
Attention : ne fonctionne pas avec Windows95.

CODE :
Unit Unit1;
// Obtenir la liste des moniteurs présents sur votre PC.
//
// Par Nono40 : http://nono40.developpez.com   http://nono40.fr.st
//              mailTo:nono40@fr.st
//
// Le 25/01/2002
//

Interface

Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

Type
  TForm1 = Class(TForm)
    Memo1: TMemo;
    Procedure FormShow(Sender: TObject);
  Private
    { Déclarations privées }
  Public
    { Déclarations publiques }
  End;

Var
  Form1: TForm1;

Implementation

{$R *.dfm}

// Type utilisé par la fonction GetMonitorInfo pour
// retourner les informations sur le moniteur voulu
Type
  PMonitorInfoEx=^TMonitorInfoEx;
  TMonitorInfoEx=Record
    cbSize    : DWord;
    rcMonitor : TRect;
    rcWork    : TRect;
    dwFlags   : DWord;
    szDevice  : Array[0..CCHDEVICENAME-1]Of Char;
  End;

// Fonction donnant des informations sur un moniteurs
Function GetMonitorInfo(Montiteur:THandle;LpInfo:PMonitorInfoEx)
     :Bool;StdCall; external User32 name 'GetMonitorInfoA';

// Fonction d'énumération des moniteurs présents
Function EnumDisplayMonitors(DC:HDC;LpRect:PRect;CallBack:TFarProc;Param:Pointer)
     :Bool;StdCall; external user32 name 'EnumDisplayMonitors';

// Procédure appelée par l'énumérateur des moniteurs
Function EnumProc(Moniteur:THandle;DC:HDC;Rect:PRect;Param:Pointer):Bool;StdCall
Var Infos:TMonitorInfoEx;
Begin
  // Pour chaque moniteurs rencontré, on en recherche le nom
  Infos.cbSize:=SizeOf(Infos);
  If GetMonitorInfo(Moniteur,@Infos)Then Form1.Memo1.Lines.Add(Infos.szDevice);
  // Et on continue l'énumération
  Result:=True;
End;

// Enumération des moniteurs au démarrage de l'application
Procedure TForm1.FormShow(Sender: TObject);
Begin
  Memo1.Lines.Clear;
  EnumDisplayMonitors(0,Nil,@EnumProc,Nil);
End;

End.

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2003 Bruno Guérangé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsables bénévoles de la rubrique Delphi : Nono40 et Pedro - Contacter par EMail :
Vos questions techniques : forum d'entraide Delphi - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.