デスクトップの大きさを調べる

デスクトップそのものの大きさを調べるには TScreenオブジェクトの Width、Heightで十分ですがタスクバーを除いたデスクトップの大きさを調べる事はできません。デスクトップ上の有効な領域の広さを調べるには SystemParametersInfo APIを使用します。

■ デスクトップの大きさを調べる例
var
  rectDesktop  :  TRect;
begin
  if  SystemParametersInfo(SPI_GETWORKAREA, 0, @rectDesktop, 0)  then  begin
     ShowMessage('Right=' + IntToStr(rectDesktop.Right));
     ShowMessage('Bottom=' + IntToStr(rectDesktop.Bottom));
  end;
end;

引数は SPI_GETWORKAREA以外にもたくさんあり、OSのあらゆる環境変数を取得する事が可能です。3番目の引数はポインタ型なので@演算子を使用します。