读书人

delphi下怎么实现屏幕的调节亮度功能

发布时间: 2013-12-13 00:50:19 作者: rapoo

delphi下如何实现屏幕的调节亮度功能
据说用API
SetDeviceGammaRamp
GetDeviceGammaRamp

我搞了半天,不知如何用,希望各位兄弟姐妹给几行代码,帮我一下,多谢啦!

能达到WIN7下调节屏幕亮度的功能即可

[解决办法]
http://bbs.csdn.net/topics/10232604
[解决办法]
参考:http://blog.csdn.net/microzone/article/details/16947211

type
TRampArray = array[0..2] of array[byte] of word;

var

origRampArray: TRampArray;

{...}

implementation

{...}


function SetBrightness( wBrightness: word ): boolean;
var
RampArray: TRampArray;
i, Value: integer;
DC: HDC;
begin
for i := 0 to MAXBYTE do
begin
Value := i * ( wBrightness + 128 );
if ( Value > MAXWORD ) then Value := MAXWORD;
RampArray[0][i] := Value;
RampArray[1][i] := Value;
RampArray[2][i] := Value;
end;

DC := GetDC( 0 );
try
Result := SetDeviceGammaRamp( DC, RampArray );
finally
ReleaseDC( 0, DC );
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
var
DC: HDC;
begin
DC := GetDC( 0 );
try
GetDeviceGammaRamp( DC, origRampArray );
finally
ReleaseDC( 0, DC );
end
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
SetBrightness( 64 );
end;


procedure TForm1.Button2Click(Sender: TObject);
var
DC: HDC;
begin
DC := GetDC( 0 );
try
SetDeviceGammaRamp( DC, origRampArray );
finally
ReleaseDC( 0, DC );
end
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Button2Click( Button2 );
end;

读书人网 >.NET

热点推荐