请问可以用API控制屏幕亮度吗?
请问可以用API控制屏幕亮度吗? $scHwnd = DllCall("user32.dll", "hwnd", "GetDesktopWindow")$hDC = DllCall("user32.dll", "hwnd", "GetDC", "hwnd", $scHwnd)
$PriBright = DllStructCreate("ulong;ulong;ulong")
$resGetBright = DllCall("Gdi32.dll", "int", "GetDeviceGammaRamp", "hwnd", $hDC, "ptr", DllStructGetPtr($PriBright))
$NewBright = DllStructCreate("ulong;ulong;ulong")
For $a = 1 to 256
For $d = 1 to 3
DllStructSetData($NewBright, $d, DllStructGetData($PriBright, 1, $a) / 2, $a)
Next
Next
$res = DllCall("Gdi32.dll", "int", "SetDeviceGammaRamp", "hwnd", $hDC, "ptr", DllStructGetPtr($NewBright))
$PriBright = 0
$NewBright = 0
If $res then msgBox(64, '', 'Done')
新亮度是根据当前亮度的一半值来的,所以不要调太大,也不要调太小,会造成花屏。虽然测试重启就恢复正常。
[ 本帖最后由 pusofalse 于 2009-2-2 05:59 编辑 ] nice code ............ 学习一下。 我还在想说 为什么会花屏
再请问 ~用GUICtrlCreateSlider 控制
修改重点 在于 / 2*2 这里吗?
页:
[1]