Changer la luminosité de l'écran

Contenu du snippet

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function GetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv As Any) As Long
Private Declare Function SetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpRamp As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Private Sub SetBrightness(Brightness As Byte)
  Dim gammaDC As Long
  gammaDC = GetDC(0&)
  If Not gammaDC = 0& Then
    Dim i As Integer, arrayValue As Long, UIarrayValue As Integer
    Dim gammaArray(0 To 255, 0 To 2) As Integer
    For i = 0 To 255
      arrayValue = i * (CLng(Brightness) + 128)
      If arrayValue > 65535 Then arrayValue = 65535
      Call CopyMemory(UIarrayValue, arrayValue, LenB(UIarrayValue))
      gammaArray(i, 0) = UIarrayValue
      gammaArray(i, 1) = UIarrayValue
      gammaArray(i, 2) = UIarrayValue
    Next i
    Call SetDeviceGammaRamp(gammaDC, gammaArray(0, 0))
  End If
  Call ReleaseDC(0&, gammaDC)
End Sub

Private Function GetBrightness() As Byte
  Dim gammaDC As Long
  gammaDC = GetDC(0&)
  If Not gammaDC = 0& Then
    Dim gammaArray(0 To 255, 0 To 2) As Integer
    Call GetDeviceGammaRamp(gammaDC, gammaArray(0, 0))
    GetBrightness = CByte(gammaArray(1, 0) - 128)
  End If
  Call ReleaseDC(0&, gammaDC)
End Function

Compatibilité : VB6

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.