Bitmap без формы

Каким образом загрузить изображение (BMP) и отобразить его на рабочем столе без использования формы? (Отображать необходимо из DLL).

Существует один способ решения поставленной задачи: создать холст TCanvas, получить контекст устройства для рабочего стола и назначить его дескриптору холста. После рисования на холсте ваше творение будет отображено на рабочем столе. Например:

  ...

var
  DesktopCanvas: TCanvas;

begin
  DesktopCanvas := TCanvas.Create;
  try
    DesktopCanvas.Handle := GetDC(0);
    try
      DesktopCanvas.MoveTo(0, 0);
      DesktopCanvas.LineTo(Screen.Width, Screen.Height);
    finally
      ReleaseDC(0, DesktopCanvas.Handle);
      DesktopCanvas.Handle := 0;
    end;
  finally
    DesktopCanvas.Free;
  end;
end;
Можно создать TBitmap и загрузить в него файл BMP. Единственная неприятность может произойти, если используется изображение с 256-цветной палитрой при работе в режиме с 256 цветами. Обойти это препятствие можно так: создать форму без границ и заголовка, установить ее высоту и ширину в ноль, поместить на нее компонент TImage и загрузить в него необходимое изображение. VCL создаст для вас нужную палитру.

[News Group]