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