Bonjour,
Je suis actuellement en train de compléter les fonctions d'un active X (c++).
Dans cet active X, j'ai déjà réussi à récupérer le nombre d'écran avec :
Et maintenant, j'aimerai récupérer les résolutions des différents écrans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GetSystemMetrics(SM_CMONITORS);
En regardant, j'ai trouvé ça :
Avec un exemple à cette adresse : http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 BOOL GetMonitorInfo( __in HMONITOR hMonitor, __out LPMONITORINFO lpmi );
Sur cette partie, seul la partie sur la récupération des résolutions m’intéresse, soit :
Et donc pour pouvoir me servir de la fonction, je dois avoir un HMONITOR. Seulement comment récupérer un HMONITOR à partir d'une position d'écran ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 GetMonitorInfo(hMonitor, &mi); if (flags & MONITOR_WORKAREA) rc = mi.rcWork; else rc = mi.rcMonitor;
Pour vous donner une idée du mode de fonctionnent que j'aimerai, en c# ça donnerait :
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 int number_screen = Screen.AllScreens.Count(); System.Console.WriteLine("Number of screens : " + number_screen + ".\n"); Screen[] screens = Screen.AllScreens; int i = 1; foreach (Screen screen in screens) { int width_width = screen.Bounds.Width; int width_height = screen.Bounds.Height; System.Console.WriteLine("\tScreen " + i + " width : " + width_width + ".\n"); System.Console.WriteLine("\tScreen " + i + " height : " + width_height + ".\n"); System.Console.WriteLine("----------"); i++; } System.Console.ReadKey();
Je vous remercie de votre aide.
Partager