Приветствую Вас Гость | RSS

Delphi заготовки

Понедельник, 13.05.2024, 11:49
Главная » 2012 » Май » 11 » Delphi копирование экрана Windows в Image.canvas
14:07
Delphi копирование экрана Windows в Image.canvas
Программа копирования экрана на Image1

procedure GetBitmapFromDesctop(rm:Tcanvas);
var DeskTopCanvas:Tcanvas; // Canva экрана
    DeskTopDC:Thandle; // Экран
    DeskTopRect: TRect; // Размер области
begin
  DeskTopDC := GetWindowDC(GetDeskTopWindow);
  DeskTopCanvas := TCanvas.Create;
  DeskTopCanvas.Handle := DeskTopDC;
//  DeskTopCanvas.Rectangle(0,0,50,50);
  DeskTopRect:=rect(0,0,screen.width,screen.Height);
  //rm:=Tbitmap.Create;
//  rm.Width:=DeskTopRect.Right;
//  rm.Height:=DeskTopRect.Bottom;
  rm.CopyRect(rm.ClipRect,DeskTopCanvas,DeskTopRect);
  DeskTopCanvas.Free;

end;


Пример
procedure TForm1.Button1Click(Sender: TObject);
begin
   GetBitmapFromDesctop(form1.Image1.Canvas);

end;




рисуем прямоугольник на рабочем столе за ярлыками  (Windows 7 / проверенно работает)

var hwndProgman,hwndDefView,hwndSysListView32: HWND;
    hdcSysListView32: HDC;
    xRect: TRect;
begin
  hwndProgman:=FindWindow('Progman',nil);
  hwndDefView:=FindWindowEx(hwndProgman,0,'SHELLDLL_DefView',nil);
  hwndSysListView32:=FindWindowEx(hwndDefView,0,'SysListView32',nil);
  hdcSysListView32:=GetDC(hwndSysListView32);
  xRect:=Rect(Screen.Width-200,Screen.Height-200,Screen.Width-100,Screen.Height-100);
  FillRect(hdcSysListView32,xRect,COLOR_WINDOWTEXT);
  ReleaseDC(hwndSysListView32,hdcSysListView32);
end;


Как рисовать на самом рабочем столе за иконками,
Как получить доступ к картинке рабочего стола и рисовать на ней
Как рисовать на рабочем столе

Просмотров: 2117 | Добавил: NetSoftWare | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: