![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скриншот в консольном приложении [D7, XP]
Ezorcist © (2006-04-30 19:06:00)Как сделать скриншот и запихнуть его в поток?
Eraser (2006-05-01 17:35:00) [1]
> Ezorcist (30.04.06 21:18) [3]
> Почему-то клиенту данных не приходит(
> MakeScreenshot(bit);
> bit.SaveToStream(ms);
> socket.SendStream(ms);
перед socket.SendStream(ms); вставь
ms.Position := 0;
Ezorcist (2006-05-01 08:58:00) [2]??
Ezorcist (2006-04-30 21:18:00) [3]procedure MakeScreenshot (Bmp: TBitmap);
var
DC: HDC;
begin
Bmp.Width := GetSystemMetrics(0);
Bmp.Height := GetSystemMetrics(1);
DC := GetDC (GetDesktopWindow);
try
BitBlt (
Bmp.Canvas.Handle,
0,0,Bmp.Width,Bmp.Height,
DC,
0,0,
SRCCOPY);
finally
ReleaseDC (GetDesktopWindow,DC);
end;
end;
...var bit:tbitmap; ms:tmemotystream;
begin
bit:=tbitmap.Create;
ms:=tmemorystream.Create;
MakeScreenshot(bit);
bit.SaveToStream(ms);
socket.SendStream(ms);
end;
Почему-то клиенту данных не приходит(
Если сделать так:
bit:=tbitmap.Create;
ms:=tmemorystream.Create;
MakeScreenshot(bit);
Не работает штука
Image1.Picture.Bitmap.LoadFromStream(MS);
А это работает
Image1.Picture.Bitmap:=Bit;
Ezorcist (2006-04-30 20:07:00) [4]Можно пример?
Eraser (2006-04-30 19:18:00) [5]BitBlt + TBitmap.SaveToStream