Ejemplo n.º 1
0
        /// <summary>
        /// Send process icon to the client
        /// </summary>
        private void SendProcessIcon(int previousProcessID)
        {
            if (ProcessPrototypesList != null && ProcessPrototypesList.Count > 0)
            {
                ProcessPrototype prototype = null;

                if (previousProcessID == 0)
                {
                    prototype = ProcessPrototypesList.FirstOrDefault();
                }
                else
                {
                    prototype = ProcessPrototypesList.SkipWhile(x => x.ProcessID != previousProcessID).Skip(1).FirstOrDefault();
                }

                if (prototype != null)
                {
                    Icon ico = Icon.ExtractAssociatedIcon(prototype.FileName);
                    if (ico != null)
                    {
                        Bitmap bitmap = ico.ToBitmap();
                        RemoteAppManager.Packets.Message message = new RemoteAppManager.Packets.Message(MessageTypes.RESPONSE_IMAGE, Utils.BitmapToBase64String(bitmap) + ConnectionService.PROCESS_START_DELIMITER + prototype.ProcessID + ConnectionService.PROCESS_END_DELIMITER);

                        Send(this.Socket, message.Data, true);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void RefreshProcessPrototypesList()
        {
            ProcessPrototypesList.Clear();

            //build filename list
            if (_processesCacheList != null)
            {
                foreach (Process process in _processesCacheList)
                {
                    String fileName = TryGetProcessFilename(process);

                    if (!String.IsNullOrEmpty(fileName))
                    {
                        ProcessPrototype proto = new ProcessPrototype(process.Id, fileName);
                        ProcessPrototypesList.Add(proto);
                    }
                }
            }
        }