Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
.NET 3.x

Автообновление listview без моргания - Диспетчер Задач

15.01.2017, 21:45. Показов 1505. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу сделать автообновление как диспетчере задач, listview моргает по старшному + списки итемов повторяются со страшной силы)
Использовал таймер с интервалом в 2000мс.
И так:

Мой проект: NTaskManager.rar
Недостатки: При запуске не все процессы показывает ( бывает глючит) - от чего?
Проект: source.rar в котором обновление не моргает в listview,хочу сделать такой же, но сильно накручено, прошу помощи.

Мой кусок кода что делал:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
void GetWinProcess()
        {
            Proc = Process.GetProcesses();
            var updated = new List<string>();
            CountProcess.Text = "Количество процессов: " + Proc.Length;
            try
            {
                for (int i = 0; i < Proc.Length; i++)
                {
                    ListViewItem itm2 = new ListViewItem(Proc[i].ProcessName.ToString() + ".exe");
                    var procId = Proc[i].Id.ToString(); itm2.Tag = procId;
                    AddOrSetSubItem(itm2, 1, procId);
                    AddOrSetSubItem(itm2, 2, Proc[i].WorkingSet64 / 1024 + "");
                    AddOrSetSubItem(itm2, 3, Proc[i].HandleCount.ToString());
                    AddOrSetSubItem(itm2, 4, Proc[i].Modules[0].FileName);
                    AddOrSetSubItem(itm2, 5, Proc[i].Threads.Count.ToString());
                    try
                    {
                        itm2.Tag = Path.GetDirectoryName(Proc[i].MainModule.FileName);
                    }
                    catch
                    {
                        itm2.Tag = null;
                    }
                    listView1.Items.Add(itm2);
                }
            }
            catch { }
            var toRemove = new List<ListViewItem>();
            try
            {
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    ListViewItem item = listView1.Items[i];
                    if (updated.Count > 0 && !updated.Contains(item.Tag.ToString()))
                        toRemove.Add(item);
                }
                foreach (var item in toRemove)
                    listView1.Items.Remove(item);
            }
            catch { }
        }
        private static void AddOrSetSubItem(ListViewItem item, int index, string value)
        {
            var collection = item.SubItems;
            if (collection.Count <= index)
                collection.Add(value);
            else
                collection[index].Text = value;
        }
Попробовал запихнуть метод
C#
1
GetWinProcess()
в таймер и при вызове таймера делать обновление процессов и.т.д). Но без результатно ( список не могу отчищать и заново обновлять списки процессов) - Поймёте когда запустите..
И при запуске какого либо нового процесса, он не появляется в listview!

P.S: Просто хочу сделать автообновление как в диспетчере задач без помех =)
Если есть у кого возможность переделать, дайте совет, что сделать.. Спс за понимание, думаю норм объяснил!
Вложения
Тип файла: rar NTaskManager.rar (209.9 Кб, 10 просмотров)
Тип файла: rar source.rar (669.6 Кб, 11 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2017, 21:45
Ответы с готовыми решениями:

Не отвечает диспетчер задач и не работает панель задач Win10
Добрый день , столкнулся с такой проблемой , что подвисла панель задач и диспетчер отказывается открываться напрочь , не язык ни время и...

Диспетчер задач на Qt
Добрый вечер Поставили задачу создать кроссплатформенный диспетчер задач, примерно такой как в Windows 7. Для начала хотя бы для...

диспетчер задач
Скрыть с диспетчер задач свой процесс?

1
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
16.01.2017, 23:13  [ТС]
UP...

Добавлено через 23 часа 28 минут
Никто не поможет доделать?))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2017, 23:13
Помогаю со студенческими работами здесь

Диспетчер задач
В Uses добавил Registry Запретить получилось вот таким способом. var Reg:TRegistry; begin Reg:=TRegIniFile.Create; ...

Диспетчер задач
Вообщем систему покоцал virus.win32 Expio.w.Все вілечил через лив СD.Но теперь не хватает половины папки систем 32.Не запускается диспетчер...

Диспетчер задач
Здравствуйте! Как можно сделать авто отключение процессов в диспетчере задач

Диспетчер задач
Народ, подскажите как сделать на ctrl + alt + delete прямой вызов диспетчера задач, как это было в windows xp. Уж слишком проблематично...

Диспетчер задач в ХР
Привет, друзья. Нужно запретить вызов Диспетчера Задач рядовому пользователю ХРpro. Фича работает с администратором, а под обычным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru