Example #1
0
 private void OnSessionsEventHandler(SystemAdapterHandler adapterHandler, IEnumerable <Core.Packets.SysManager.SessionItem> sessions)
 {
     this.sessionsListView.Items.Clear();
     this.sessionsListView.Items.AddRange(sessions
                                          .Select(c => new SessionViewItem(c.UserName, c.SessionId, c.SessionState, c.WindowStationName, c.HasUserProcess))
                                          .ToArray());
 }
Example #2
0
 private void OnSystemInfoHandlerEvent(SystemAdapterHandler adapterHandler, IEnumerable <SystemInfoItem> infoItems)
 {
     systemInfoList.Items.Clear();
     foreach (var item in infoItems)
     {
         var lv = new ListViewItem();
         lv.Text = item.ItemName;
         lv.SubItems.Add(item.Value);
         systemInfoList.Items.Add(lv);
     }
 }
Example #3
0
        private void OnProcessListHandlerEvent(SystemAdapterHandler adapterHandler, IEnumerable <ProcessItem> processItems)
        {
            var processLst = new List <ProcessItem>(processItems);
            var listViews  = processList.Items.Cast <ProcListViewItem>().ToArray();

            //待移除进程项
            var waitRemoveItems = new Queue <ProcListViewItem>();

            for (int i = 0; i < listViews.Length; i++)
            {
                var item         = listViews[i];
                var processIndex = processLst.FindIndex(c => c.ProcessId == item.ProcessId);

                if (processIndex > 0)
                {
                    var process = processLst[processIndex];
                    processLst.RemoveAt(processIndex);
                    item.Update(process.ProcessId, process.ProcessName, process.WindowName, process.WindowHandler, process.ProcessMemorySize, process.ProcessThreadCount, process.FilePath, process.SessionId, process.User);
                }
                else
                {
                    waitRemoveItems.Enqueue(item);
                }
            }

            foreach (var item in processLst)
            {
                if (waitRemoveItems.Count > 0)
                {
                    var processItem = waitRemoveItems.Dequeue();
                    processItem.Update(item.ProcessId, item.ProcessName, item.WindowName, item.WindowHandler, item.ProcessMemorySize, item.ProcessThreadCount, item.FilePath, item.SessionId, item.User);
                }
                else
                {
                    var processItem = new ProcListViewItem(item.ProcessId, item.ProcessName, item.WindowName, item.WindowHandler, item.ProcessMemorySize, item.ProcessThreadCount, item.FilePath, item.SessionId, item.User);
                    processList.Items.Add(processItem);
                }
            }

            for (int i = 0; i < waitRemoveItems.Count; i++)
            {
                var item = waitRemoveItems.Dequeue();
                item.Remove();
            }

            m_proNum.Text = processList.Items.Count.ToString();
        }
Example #4
0
 private void OnOccupyHandlerEvent(SystemAdapterHandler adapterHandler, string cpuOccupy, string memroyOccupy)
 {
     this.cpuUse.Text  = $"CPU使用率:{cpuOccupy}";
     this.moryUse.Text = $"内存:{memroyOccupy}";
 }