delphi下怎么实现屏幕的调节亮度功能
delphi下如何实现屏幕的调节亮度功能
据说用API
SetDeviceGammaRamp
GetDeviceGammaRamp
我搞了半天,不知如何用,希望各位兄弟姐妹给几行代码,帮我一下,多谢啦!
能达到WIN7下调节屏幕亮度的功能即可
------解决方案--------------------
http://bbs.****.net/topics/10232604
------解决方案--------------------
参考:http://blog.****.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;
据说用API
SetDeviceGammaRamp
GetDeviceGammaRamp
我搞了半天,不知如何用,希望各位兄弟姐妹给几行代码,帮我一下,多谢啦!
能达到WIN7下调节屏幕亮度的功能即可
------解决方案--------------------
http://bbs.****.net/topics/10232604
------解决方案--------------------
参考:http://blog.****.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;