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