Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

Как сделать скриншот с компьютера в локальной сети?   Найти похожие ветки 

 
[BAD]Angel ©   (2002-10-10 14:58) [0]

Как сделать скриншот с компьютера в локальной сети?

Если можно, куском кода!!!


 
[BAD]Angel ©   (2002-10-10 15:05) [1]

Помогите ПЛЗ!!!


 
Song ©   (2002-10-10 15:10) [2]

1.Клиент-сервер.
2.OpenWindowStation(), OpenDeskTop()


 
AL2002 ©   (2002-10-10 15:19) [3]

>Song © (10.10.02 15:10)
А пример. Очень интересно.


 
[BAD]Angel ©   (2002-10-13 02:16) [4]

А по точнее можно?


 
bobby   (2002-10-13 08:54) [5]

Делаешь 2 приложения, на одном вешаешь TClientSocket, на другом Tserversocket, у них в свойствах задаешь порт, по которому передача, и у клиента айпишник сервера. Далее делаешь клиент.коннект, в проге-клиенте пишешь код сдирания десктопа, и методом клиент.сендбуфер, вроде отправляешь этот десктоп серверу.
Нужен исходик-пиши на мыло.


 
Rouse_ ©   (2002-10-16 00:08) [6]

Ложишь на форму TClientSocket и TServerSocket, у клиента Active ставишь False, пишешь в обработчиках следующий код

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendText("send"+IntToStr(TrackBar1.Position));
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
FJpeg:TJpegImage;
Play :Boolean;
s, sl: string;
i:Integer;
begin
s:= Socket.ReceiveText;
if not Reciving then
begin
SetLength(sl, StrLen(PChar(s))+1);
StrLCopy(@sl[1], PChar(s), Length(sl)-1);
DataSize:= StrToInt(sl);
Data:= TMemoryStream.Create;
Delete(s, 1, Length(sl));
Reciving:= true;
end;

try
Data.Write(s[1], length(s));
if Data.Size = DataSize then
begin
Data.Position:= 0;
fjpeg:=TJpegImage.Create;
fjpeg.LoadFromStream(Data);
Image1.Picture.Assign(fjpeg);
fjpeg.Free;
Data.Free;
Reciving:= false;
Socket.Close;
except
Data.Free;
end;
end;


procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
ms: TMemoryStream;
winHWND: HWND;
winDC: HDC;
Rect: TRect;
fBitmap:TBitmap;
FJpeg:TJpegImage;
Compression:Byte;
tmp:String;
begin
_Sending := True;
Compression := 50;
tmp:= Socket.ReceiveText;
if tmp = "send" then
begin
ms:= TMemoryStream.Create;
try
winHWND := GetDesktopWindow();
winDC := GetDC(winHWND);
fBitmap:=TBitmap.Create;
GetWindowRect(winHWND, rect);
fBitmap.width := rect.right-rect.left;
fBitmap.height := rect.bottom-rect.top;
BitBlt(fBitmap.canvas.handle, 0, 0, fBitmap.width,
fBitmap.height, winDC, 0, 0, SRCCOPY);
Application.ProcessMessages;
ReleaseDC(winHWND, winDC);
FJpeg:=TJpegImage.Create;
FJpeg.Assign(FBitmap);
fBitmap.Free;
FJpeg.CompressionQuality := Compression;
FJpeg.SaveToStream(ms);
fJpeg.Free;
ms.Position:= 0;
Socket.SendText(IntToStr(ms.Size) + #0);
Socket.SendStream(ms);
except
try
if Assigned(fBitmap) then fBitmap.Free;
if Assigned(fJpeg) then fJpeg.Free;
if Assigned(ms) then ms.Free;
except end;
end;
end;
end;


Проверь, я вырезал лишнее, мог что-то пропустить, но принцип такой

Желаю успехов



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-92482
Хамло
2002-10-18 09:18
2002.10.28
Существует ли какая-нить функция подстановки....?


6-92640
matrixxxx
2002-08-26 21:16
2002.10.28
Решился написать небольшой чат. Но принчип работы у него не через


1-92424
KVBr
2002-10-17 16:08
2002.10.28
Как определить хендл по PID?


1-92520
Alexander Vasjuk
2002-10-18 18:01
2002.10.28
XP стили в 95,98,2000


14-92714
Smiths
2002-10-08 18:28
2002.10.28
Давно хотел спросить