Ermittelt oder setzt den Wert von einem der Systemweiten Parameter
#include <WinAPISys.au3>
_WinAPI_SystemParametersInfo ( $iAction [, $iParam = 0 [, $vParam = 0 [, $iWinIni = 0]]] )
$iAction | Der Systemweite Parameter der ermittelt oder gesetzt werden soll |
$iParam | [optional] Ein Parameter dessen Gebrauch und Format auf dem abgefragten oder gesetzten Parameter beruhen |
$vParam | [optional] Ein Parameter dessen Gebrauch und Format auf dem abgefragten oder gesetzten Parameter beruhen |
$iWinIni | [optional] Wenn ein Systemparameter gesetzt wird, legt dieses Argument fest, ob das Benutzerprofil aktualisiert wird, und falls ja, ob die $WM_SETTINGCHANGE Nachricht an alle Benutzer gesendet werden soll. Dieses Argument kann Null sein, wenn das Benutzerprofil nicht aktualisiert werden soll, oder es kann einer der folgenden Werte sein: $SPIF_UPDATEINIFILE - Schreibt die neuen Einstellungen ins Benutzerprofil $SPIF_SENDCHANGE - Sendet die $WM_SETTINGCHANGE Nachricht an alle Benutzer, nachdem das Benutzerprofil aktualisiert wurde Die Konstanten sind in WinAPIsysinfoConstants.au3 definiert. |
Erfolg: | True |
Fehler: | False. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten. |
Diese Funktion ruft immer die Unicode Version auf. Somit muss $vParam keine Übereinstimmung liefern wenn Strings verwendet werden.
Suche nach SystemParametersInfo in der MSDN Bibliothek.
#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))
; Ermittelt den sichtbaren Arbeitsbereich des Desktops. Dies enthält nicht den Bereich der durch die Taskleiste überdeckt wird..
Func GetWorkArea()
Local $tWorkArea = DllStructCreate($tagRECT)
_WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0, $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