程序怎么能控制显示器的亮度,
就像华军软件园里发布的这个软件。
http://xz.onlinedown.net/soft/32524.htm
(本软件是华军软件园发布的,应该没病毒)

解决方案 »

  1.   

    显示器是可以控制亮度的!
    具体API需要查找资料.
      

  2.   

    api控制的亮度是图像的,不是显示器的.--------个人感觉.
      

  3.   

    亮度?我做过一个VB的程序.你看看http://www.skycn.com/soft/15832.html这个是不是有你要的功能?有的话我把源码给你。
      

  4.   

    如果可以的话,
    我有MAIL是[email protected]
      

  5.   

    要。
    多谢了。
    我的MAIL是
    [email protected]
    我用VB的程序做个动态库就可以了。
      

  6.   

    过去VGA的显示器是可以直接访问其寄存器操作显示器的,亮度、分辨率都可以,当年UCDOS就是用这种方式实现汉字的快速显示。不过这种操作非常危险,可以直接搞坏你的显示器。
      

  7.   

    Private Sub HScroll2_Change()
    Mainfrm.AutoRedraw = False
    Dim t As GAMMA
    Dim R(255), G(255), b(255)
    fbr11 = fbr1
    fbg11 = fbg1
    fbb11 = fbb1
    If Label8.Caption = "RGB" Then
    z1 = HScroll2.value - Old2r
    z2 = HScroll2.value - Old2g
    z3 = HScroll2.value - Old2b
    fbr1 = fbr11 + z1
    fbg1 = fbg11 + z2
    fbb1 = fbb11 + z3
    For i = 0 To 255
    R(i) = far1 * i + fbr1
    G(i) = fag1 * i + fbg1
    b(i) = fab1 * i + fbb1
    Next i
    Old2r = HScroll2.value
    Old2g = HScroll2.value
    Old2b = HScroll2.value
    S2a = HScroll2.value
    S2r = HScroll2.value
    S2g = HScroll2.value
    S2b = HScroll2.value
    End If
    If Label8.Caption = "Red Only" Or Label8.Caption = "红色" Then
    z1 = HScroll2.value - Old2r
    fbr1 = fbr11 + z1
    For i = 0 To 255
    R(i) = far1 * i + fbr1
    G(i) = fag1 * i + fbg1
    b(i) = fab1 * i + fbb1
    Next i
    Old2r = HScroll2.value
    S2r = HScroll2.value
    End IfIf Label8.Caption = "Green Only" Or Label8.Caption = "绿色" Then
    z2 = HScroll2.value - Old2g
    fbg1 = fbg11 + z2
    For i = 0 To 255
    R(i) = far1 * i + fbr1
    G(i) = fag1 * i + fbg1
    b(i) = fab1 * i + fbb1
    Next i
    Old2g = HScroll2.value
    S2g = HScroll2.value
    End IfIf Label8.Caption = "Blue Only" Or Label8.Caption = "兰色" Then
    z3 = HScroll2.value - Old2b
    fbb1 = fbb11 + z3
    For i = 0 To 255
    R(i) = far1 * i + fbr1
    G(i) = fag1 * i + fbg1
    b(i) = fab1 * i + fbb1
    Next i
    Old2b = HScroll2.value
    S2b = HScroll2.value
    End IfFor i = 0 To 255
    R(i) = R(i) * 256
    If R(i) > 65280 Then R(i) = 65280
    If R(i) < 0 Then R(i) = 0
    G(i) = G(i) * 256
    If G(i) > 65280 Then G(i) = 65280
    If G(i) < 0 Then G(i) = 0
    b(i) = b(i) * 256
    If b(i) > 65280 Then b(i) = 65280
    If b(i) < 0 Then b(i) = 0
    Next iFor i = 0 To 255
    If R(i) >= 32767 Then t.RR(i) = -(32767 - (R(i) - 32767)) Else t.RR(i) = R(i)
    If G(i) >= 32767 Then t.GR(i) = -(32767 - (G(i) - 32767)) Else t.GR(i) = G(i)
    If b(i) >= 32767 Then t.BR(i) = -(32767 - (b(i) - 32767)) Else t.BR(i) = b(i)
    Next ia = SetDeviceGammaRamp(GetDC(GetDesktopWindow()), t)
    Mainfrm.AutoRedraw = True
    Old2 = HScroll2.value
    If Form3.Check1 = 1 Then Form3.Check1.value = 0
    Call Timer1_Timer
    End Sub
      

  8.   

    请问你的Old2r Old2g Old2b fbr1 fbg1 fbb1
    这几个变量的初值赋为多少?
    给这几个变量赋初值的函数能不能给我?
      

  9.   

    S1r = 100
    S2r = 100
    S3r = 100
    S4r = 100
    S1g = 100
    S2g = 100
    S3g = 100
    S4g = 100
    S1b = 100
    S2b = 100
    S3b = 100
    S4b = 100
    S1a = 100
    S2a = 100
    S3a = 100
    S4a = 100far1 = 1
    fbr1 = 0
    fag1 = 1
    fbg1 = 0
    fab1 = 1
    fbb1 = 0
    Lang = 1
    BrightStep = 256
    'Chinese.Checked = False
    Old1r = 100
    Old2r = 100
    Old3r = 100
    Old4r = 100
    Old1g = 100
    Old2g = 100
    Old3g = 100
    Old4g = 100
    Old1b = 100
    Old2b = 100
    Old3b = 100
    Old4b = 100