La résolution vidéo :
SM_CXSCREEN est un entier = 0
SM_CYSCREEN est un entier = 1
larg est un entier = AppelDLL32("user32","GetSystemMetrics" , 0)
haut est un entier = AppelDLL32("user32","GetSystemMetrics" , 1)
info("La résolution vidéo est de "+larg+" par "+haut)
Savoir si Windows a démarré normalement :
SM_CLEANBOOT est un entier = 67
si pas AppelDLL32("user32","GetSystemMetrics" , SM_CLEANBOOT) alors
info("Démarrage normal")
fin
Déterminer le nombre de boutons de la souris :
SM_CMOUSEBUTTONS est un entier = 43
SM_MOUSEWHEELPRESENT est un entier = 75
nb est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_CMOUSEBUTTONS)
si nb alors
roul est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_MOUSEWHEELPRESENT)
si roul alors
info("La souris a "+nb+" bouton(s) + une roulette")
sinon
info("La souris a "+nb+" bouton(s)")
fin
sinon
info("Pas de souris")
fin
Déterminer si les boutons de la souris sont inversés :
SM_SWAPBUTTON est un entier = 23
si AppelDLL32("user32","GetSystemMetrics" , SM_SWAPBUTTON) alors
info("Les boutons de la souris sont inversés.")
fin
Déterminer la hauteur d'une barre de titre :
SM_CYCAPTION est un entier = 4
info("La barre de titre a "+AppelDLL32("user32","GetSystemMetrics" , SM_CYCAPTION)+" pixels de hauteur.")
Déterminer la hauteur d'une barre de menu :
SM_CYMENU est un entier = 15
info("La barre de menu a "+AppelDLL32("user32","GetSystemMetrics" , SM_CYMENU )+" pixels de hauteur.")
Déterminer la taille des boutons de la barre de titre :
SM_CXSIZE est un entier = 30
SM_CYSIZE est un entier = 31
larg est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_CXSIZE)
haut est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_CYSIZE)
info("Les boutons de la barre de titres ont "+larg+" pixels de largeurs et "+haut +" pixels de hauteur.")
Déterminer la taille des bordures des fenêtres :
SM_CXBORDER est un entier = 5
SM_CYBORDER est un entier = 6
bordh est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_CXBORDER)
bordy est un entier = AppelDLL32("user32","GetSystemMetrics" , SM_CYBORDER)
info("La bordure horizontale des fenêtres a "+bordh+" pixel(s) de largeur","La bordure verticale des fenêtres a "+bordy+" pixel(s) de hauteur")
Voir aussi : SM_CXEDGE (45) , SM_CYEDGE (46)
Déterminer le nombre de dpi de l'écran :
dc est un entier long = appeldll32("gdi32","CreateICA","Display",null,null,null)
si dc alors
LOGPIXELSX est un entier = 88
LOGPIXELSY est un entier = 90
nbpx est un entier = AppelDLL32("gdi32","GetDeviceCaps" , dc , LOGPIXELSX)
nbpy est un entier = AppelDLL32("gdi32","GetDeviceCaps" , dc , LOGPIXELSY)
info(nbpx+" "+nbpy)
appeldll32("gdi32","DeleteDC",dc)
fin
Déterminer le nombre de dpi d'une imprimante :
dc est un entier long = appeldll32("gdi32","CreateICA","Winspool","HP LaserJet 5000 PCL 6",null,null)
si dc alors
LOGPIXELSX est un entier = 88
LOGPIXELSY est un entier = 90
nbpx est un entier = AppelDLL32("gdi32","GetDeviceCaps" , dc , LOGPIXELSX)
nbpy est un entier = AppelDLL32("gdi32","GetDeviceCaps" , dc , LOGPIXELSY)
info(nbpx+" "+nbpy)
appeldll32("gdi32","DeleteDC",dc)
fin