UDF > WinAPIEx > System > SysInfo >


_WinAPI_SystemParametersInfo

Obtient ou définit la valeur de l'un des paramètres wide du système

#include <WinAPISys.au3>
_WinAPI_SystemParametersInfo ( $iAction [, $iParam = 0 [, $vParam = 0 [, $iWinIni = 0]]] )

Paramètres

$iAction Le paramètre system-wide à obtenir ou définir
$iParam [optionnel] Un paramètre dont l'usage et le format dépend du paramètre interrogé ou défini
$vParam [optionnel] Un paramètre dont l'usage et le format dépend du paramètre interrogé ou défini
$iWinIni [optionnel] Si le paramètre du système est en train d'être défini, spécifie si le profil de l'utilisateur doit être mis à jour, et si c'est le cas, si le message $WM_SETTINGCHANGE sera diffusée. Ce paramètre peut être égal à zéro si vous ne voulez pas mettre à jour le profil de l'utilisateur ou bien il peut prendre une ou plusieurs des valeurs suivantes:
$SPIF_UPDATEINIFILE - Ecrit le nouveau paramètre dans le profil de l'utilisateur
$SPIF_SENDCHANGE - Diffuse le message $WM_SETTINGCHANGE après mise à jour du profil de l'utilisateur

Valeur de retour

Succès: Retourne True
Échec: Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur.

Remarque

Cette fonction appelle toujours la version Unicode, aussi $vParam doit être adapté lors de l'utilisation des chaînes.

Voir aussi

Consultez SystemParametersInfo dans la librairie MSDN.

Exemple

#include <Array.au3>
#include <WinAPISys.au3>
#include <WinAPIsysinfoConstants.au3>
#include <WindowsConstants.au3>

Local $aArray = GetWorkArea()
_ArrayDisplay($aArray, _WinAPI_GetSystemMetrics($SM_CXVIRTUALSCREEN) & ', '& _WinAPI_GetSystemMetrics($SM_CYVIRTUALSCREEN))

; Obtient la zone visible de travail du bureau, elle ne comprend pas la zone couverte par la barre des tâches.
Func GetWorkArea()
    Local $tWorkArea = DllStructCreate($tagRECT)
    _WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0, DllStructGetPtr($tWorkArea))
    Local $aReturn[4] = [DllStructGetData($tWorkArea, 'Left'), DllStructGetData($tWorkArea, 'Top'), _
            DllStructGetData($tWorkArea, 'Right') - DllStructGetData($tWorkArea, 'Left'), DllStructGetData($tWorkArea, 'Bottom') - DllStructGetData($tWorkArea, 'Top')]
    Return $aReturn
EndFunc   ;==>GetWorkArea