現在のデスクトップの解像度を取得する関数です。戻り値はbit 数です。 256 色の時は 8 bit だから 8, 64k 色の時は 1677万色のときは 24 が返ります。
画面の解像度を取得する場合、よく GetDC を使う方法が紹介されていますが、 ここでは CreateIC を使う方法を紹介します。こちらの方が高速らしいです。
function GetPixelBit: Integer;
var
IC: HDC;
begin
IC := CreateIC('DISPLAY', nil, nil, nil);
Result := GetDeviceCaps(IC, BITSPIXEL);
DeleteDC(IC);
end;