Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- TPacket = record
- Image: TJPEGImage;
- student: string;
- end;
- var
- Image: TBitmap;
- Desktop: TDesktop;
- by: TBytes;
- Packet: TPacket;
- implementation
- {$R *.dfm}
- procedure TDesktop.Button1Click(Sender: TObject);
- var
- can: TCanvas;
- begin
- can := TCanvas.Create;
- can.Handle := GetWindowDC(GetDesktopWindow);
- ZeroMemory(by, 0);
- Packet.Image := TJPEGImage.Create;
- Image := TBitmap.Create;
- Image.Width := Screen.Width;
- Image.Height := Screen.Height;
- Image.Canvas.CopyRect(
- Rect(0, 0, Screen.Width, Screen.Height),
- can,
- Rect(0, 0, Screen.Width, Screen.Height)
- );
- Packet.Image.Assign(Image);
- Packet.Image.CompressionQuality := 50;
- Packet.student := 'student';
- IdUDPClient1.BufferSize := SizeOf(packet);
- SetLength(by, sizeof(packet));
- Move(packet, by[0], sizeof(packet));
- IdUDPClient1.SendBuffer('127.0.0.1', 5, by);
- Image.Free;
- Packet.Image.Free;
- ReleaseDC(0, can.Handle);
- end;
- procedure TDesktop.FormShow(Sender: TObject);
- begin
- IdUDPServer1.BufferSize:=SizeOf(packet);
- end;
- procedure TDesktop.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
- AData: array of Byte; ABinding: TIdSocketHandle);
- begin
- Packet.Image := TJPEGImage.Create;
- Move(AData[0], packet, sizeof(AData));
- Caption := Packet.student;
- Packet.Image.SaveToFile('E:1.jpg');
- Packet.Image.Free;
- end;
Advertisement
Add Comment
Please, Sign In to add comment