OVH Cloud OVH Cloud

Pb avec GetMonitorInfo, le type MONITORINFO est inconnu !

4 réponses
Avatar
Raph
Bonjour,

Je voudrais créer une fenêtre (en C avec l'API Win32) qui soit plein
écran à son lancement.
Pour cela, j'ai pensé récupérer des infos sur l'écran avec
GetMonitorInfo afin de déterminer sa taille, puis de créer la fenêtre en
conséquence.
Mais j'ai un problème avec GetMonitorInfo : je n'arrive pas à faire
reconnaître le type MONITORINFO sur lequel pointe le 2ème paramètre de
GetMonitorInfo!
J'obtiens l'erreur suivante à la compilation, pour la ligne de code plus
bas :
error C2065: 'MONITORINFO' : undeclared identifier
J'ai pourtant j'ai bien inclus les fichiers
winuser.h et windows.h

Extrait de mon code :
/* définition d'une variable monitorInfo_t de type MONITORINFO */
MONITORINFO monitorInfo_t; /* erreur à la compil ICI */

Merci d'avance
Raph

4 réponses

Avatar
LoloSoft
"Raph" <no_spam> a écrit dans le message de news:
3f9679a7$0$27602$
Bonjour,

Je voudrais créer une fenêtre (en C avec l'API Win32) qui soit plein
écran à son lancement.
Pour cela, j'ai pensé récupérer des infos sur l'écran avec
GetMonitorInfo afin de déterminer sa taille, puis de créer la fenêtre en
conséquence.
Mais j'ai un problème avec GetMonitorInfo : je n'arrive pas à faire
reconnaître le type MONITORINFO sur lequel pointe le 2ème paramètre de
GetMonitorInfo!
J'obtiens l'erreur suivante à la compilation, pour la ligne de code plus
bas :
error C2065: 'MONITORINFO' : undeclared identifier
J'ai pourtant j'ai bien inclus les fichiers
winuser.h et windows.h

Extrait de mon code :
/* définition d'une variable monitorInfo_t de type MONITORINFO */
MONITORINFO monitorInfo_t; /* erreur à la compil ICI */

Merci d'avance
Raph



pourquoi ne pas passer par Maximize .....
sinon pour les infos ecran entre autres il y a ::GetDeviceCaps(...;)

--

Laurent.
Avatar
Raph
LoloSoft a écrit :

pourquoi ne pas passer par Maximize .....



C'est ce que j'ai fait, mais ce n'est pas pris en compte lors du
lancement de la fenêtre :-(
Ce sont les valeurs (600x600) qui sont prisent en compte!
Merci d'avance.
Raph


Voilà mon code :
if((hFenetre CreateWindowEx(WS_EX_APPWINDOW|WS_EX_CLIENTEDGE,
"Fenetre OpenGL", "Premier projet
OpenGL",
WS_MAXIMIZE|WS_MAXIMIZEBOX|
WS_MINIMIZEBOX|WS_SYSMENU|
WS_VISIBLE|WS_SIZEBOX,
0,
0,
600,
600,
NULL,
NULL,
hInstance,
NULL)) == NULL) {
MessageBox(NULL, "Echec de CreateWindowEx.nFin de
l'application.", "Erreur!", MB_OK|MB_ICONERROR);
exit(EXIT_FAILURE);
}
Avatar
LoloSoft
dans ce cas fait apres le create un

ShowWindow(
HWND hWnd, // handle to window
int nCmdShow // show state
);
avec nCmdShow = SW_SHOWMAXIMIZED

--

Laurent.
Avatar
Christian ASTOR
Raph wrote:

Je voudrais créer une fenêtre (en C avec l'API Win32) qui soit plein
écran à son lancement.



GetSystemMetrics( SM_CXSCREEN ) & GetSystemMetrics( SM_CYSCREEN ) puis
SetWindowPos()
(ou ChangeDisplaySettings() & CDS_FULLSCREEN)

Mais j'ai un problème avec GetMonitorInfo : je n'arrive pas à faire
reconnaître le type MONITORINFO sur lequel pointe le 2ème paramètre de
GetMonitorInfo!
J'obtiens l'erreur suivante à la compilation, pour la ligne de code plus
bas :
error C2065: 'MONITORINFO' : undeclared identifier



Mets à jour tes headers à partir de la PSDK (et mets les en premier ds
"Directories")