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;