Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 10:33   #1
DiME
 
Регистрация: 25.08.2008
Сообщений: 7
По умолчанию Аналог radmin

нужен пример как отправлять/принимать изображение с удаленного компа
DiME вне форума Ответить с цитированием
Старый 27.04.2009, 11:43   #2
rzawm
Пользователь
 
Аватар для rzawm
 
Регистрация: 06.04.2009
Сообщений: 80
По умолчанию

Делать скриншот, сохранять в файл затем файл отправлять, но для аналогии с радмином это не вариант
rzawm вне форума Ответить с цитированием
Старый 27.04.2009, 11:51   #3
DiME
 
Регистрация: 25.08.2008
Сообщений: 7
По умолчанию

Цитата:
Сообщение от rzawm Посмотреть сообщение
Делать скриншот, сохранять в файл затем файл отправлять, но для аналогии с радмином это не вариант
это понятно, но хотелось бы примерчик, в принципе достаточно только видеть удаленный рабочий стол, других функций пока не нужно
DiME вне форума Ответить с цитированием
Старый 27.04.2009, 11:53   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а зачем сохранять7 сохранил в буффер и отправил.... это уже обсуждалось и не раз... используй tcp и там есть sendstream;
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 27.04.2009, 11:58   #5
DiME
 
Регистрация: 25.08.2008
Сообщений: 7
По умолчанию

Цитата:
Сообщение от KORN Посмотреть сообщение
а зачем сохранять7 сохранил в буффер и отправил.... это уже обсуждалось и не раз... используй tcp и там есть sendstream;
Код:
procedure TSCThread.GrabScreen(Stream:TStream;const ImgSize:TPoint);
var
 Desktop:HWnd;
 DesktopRect: TRect;
 DesktopDC:HDc;
begin
 Stream.Size:=0;
 Desktop:=GetDesktopWindow;
 GetWindowRect(Desktop,DesktopRect);
 Bitmap.Height:=ImgSize.Y;
 Bitmap.Width:=ImgSize.X;
 DesktopDC:=GetWindowDC(Desktop);
 try
   Win32Check(StretchBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,
             DesktopDC,DesktopRect.Left,DesktopRect.Top,DesktopRect.Right,DesktopRect.Bottom, SRCCOPY));
 finally
   ReleaseDC(Desktop,DesktopDC);
 end;
 Jpeg.Assign(Bitmap);
 Jpeg.SaveToStream(Stream);
end;

procedure TSCThread.ClientExecute;
var
 ScreenStream:TMemoryStream;
 Buf:array[0..1023] of byte;
 ImgSize:TPoint;
 size:integer;
begin
 while (not Terminated) and ClientSocket.Connected do
 try
   ScreenStream:=TMemoryStream.Create;
   try
     if ClientSocket.ReceiveBuf(ImgSize,SizeOf(ImgSize))<>SizeOf(ImgSize) then exit;
     GrabScreen(ScreenStream,ImgSize);
     ScreenStream.Position:=0;
     size:=ScreenStream.Size;
     ClientSocket.SendBuf(size,SizeOf(size));
     while ScreenStream.Position<ScreenStream.Size do
     begin
       size:=ScreenStream.Read(Buf,SizeOf(Buf));
       if ClientSocket.SendBuf(Buf,size)<>size then exit;
     end;
   finally
     ScreenStream.Free;
   end;
 except
   Terminate;
   HandleException;
 end;
end;
вот пример как это реализовано. (коддинг не мой) тут ничего и не сохраняется, сразу передается...
DiME вне форума Ответить с цитированием
Старый 27.04.2009, 12:05   #6
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

Код:
 finally
   ReleaseDC(Desktop,DesktopDC);
 end;
 Jpeg.Assign(Bitmap);
 Jpeg.SaveToStream(Stream);
end;
не сохраняешь говоришь7 не в буфер, так в поток
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 27.04.2009, 12:13   #7
DiME
 
Регистрация: 25.08.2008
Сообщений: 7
По умолчанию

Цитата:
Сообщение от KORN Посмотреть сообщение
не сохраняешь говоришь7 не в буфер, так в поток
Есть другие примеры?
DiME вне форума Ответить с цитированием
Старый 27.04.2009, 18:25   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

http://www.delphimaster.ru/cgi-bin/f...1227604925&n=4

а чем тебя этот не устраивает7
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 28.04.2009, 08:08   #9
DiME
 
Регистрация: 25.08.2008
Сообщений: 7
По умолчанию

KORN, я как раз приводил кусок из этого кода как пример, просто хотелось узнать есть ли еще какие примеры...
DiME вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог tree на C# (вывод содержимого каталогов) LepihinMS Общие вопросы .NET 8 22.03.2019 15:51
Аналог getch(); в C# Spice Общие вопросы .NET 5 17.05.2015 17:17
Аналог Sleep() Ants Общие вопросы Delphi 2 18.11.2008 13:11
Аналог with на С++. Иллидан Общие вопросы C/C++ 1 16.05.2008 21:41
radmin 2.2 Sub-Zero Софт 3 09.05.2008 17:59