2
A
回答
8
从Windows Vista开始,您可以使用GetMonitorBrightness
和SetMonitorBrightness
函数。
function GetMonitorBrightness(
hMonitor : THandle;
var pdwMinimumBrightness : DWORD;
var pdwCurrentBrightness : DWORD;
var pdwMaximumBrightness : DWORD
) : BOOL; stdcall ; external 'Dxva2.dll' name 'GetMonitorBrightness';
function SetMonitorBrightness(
hMonitor : THandle;
dwNewBrightness : DWORD
): BOOL; stdcall ; external 'Dxva2.dll' name 'SetMonitorBrightness';
另一种选择是使用WmiMonitorBrightnessMethods
WMI类的WmiSetBrightness
方法。
{$APPTYPE CONSOLE}
uses
SysUtils,
ActiveX,
Variants,
ComObj;
procedure SetBrightness(Timeout : Integer; Brightness : Byte);
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin;
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\WMI', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM WmiMonitorBrightnessMethods Where Active=True','WQL',$00000020);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
FWbemObject.WmiSetBrightness(Timeout, Brightness);
FWbemObject:=Unassigned;
end;
end;
begin
try
CoInitialize(nil);
try
SetBrightness(5, 100);
finally
CoUninitialize;
end;
except
on E:EOleException do
Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
on E:Exception do
Writeln(E.Classname, ':', E.Message);
end;
Writeln('Press Enter to exit');
Readln;
end.
注意:如果GetMonitorCapabilities函数返回MC_CAPS_BRIGHTNESS标志,这些功能都支持。
相关问题
- 1. 通过JFrame改变亮度?
- 2. Android,改变位图的亮度/暗度
- 3. 改变屏幕亮度时,自动亮度调节启用
- 4. 用CSS改变背景的亮度
- 5. 改变一个wellpanel的高度闪亮
- 6. Android使用传感器改变亮度
- 7. 改变服务内的系统亮度
- 8. 基准算法改变感知亮度?
- 9. OpenGL灯光相机改变亮度
- 10. NSImage:更改亮度
- 11. 更改亮度ubuntu12.04LTS
- 12. 使用Android Paint类中的PorterDuffXfermode更改点亮/变暗亮度的强度
- 13. 使用C++在Windows 10上设置亮度WinAPI
- 14. WINAPI C++试图让主显示器的亮度
- 15. Python + OpenCV,改变滑动窗口之外的亮度/黑暗度?
- 16. 在不改变颜色的情况下更改图像亮度
- 17. 在ipad中更改亮度
- 18. 更改jframe的亮度
- 19. 更改颜色亮度
- 20. IOS uiview亮度变化
- 21. WinAPI的:当位置有所改变
- 22. 当自动亮度开启时如何更改屏幕亮度?
- 23. C++ winapi listview item selected但未高亮
- 24. 修改使用WINAPI
- 25. jQuery - 悬停时改变颜色的亮度
- 26. 改变屏幕亮度的onPause(Android应用程序)
- 27. Java:改变图像亮度的最快方法
- 28. Jython JES:改变图像亮度不起作用
- 29. Android的 - 用一个按钮来改变屏幕的亮度
- 30. Google热图根据亮度改变颜色
+1获得详细的答案! – Remko
谢谢!那就是我一直在寻找的东西。 – user0