Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/345: Рейтинг темы: голосов - 345, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 06.11.2007
Сообщений: 51

Получить список запущенных процессов

23.12.2007, 17:12. Показов 69853. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Неподскажите как в imicrosoft visual c# получить список запущенных процессов.
Зараннее всем спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2007, 17:12
Ответы с готовыми решениями:

Получить список запущенных в системе процессов
Здравствуйте, формучане. Давно не задавал вопросы, решил написать. Честно пробовал найти на форуме, но поиски не увенчались успехом. ...

Список запущенных процессов и потоков
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...

Как получить список запущенных приложений
Здравствуйте. Подскажите пожалуйста, как получить список запущенных приложений? Попросту хочу сделать эмуляцию панели задач.

23
Администратор
 Аватар для mik-a-el
87808 / 53129 / 249
Регистрация: 10.04.2006
Сообщений: 13,760
23.12.2007, 17:29
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Code
1
Process[] procList = Process.GetProcesses();
1
0 / 0 / 1
Регистрация: 06.11.2007
Сообщений: 51
23.12.2007, 18:00  [ТС]
Спасибо большое за ответ а не могли бы вы показать полный код. Что бы я нажимал на кнопку а в лисбоксе отображались процессы.очень надо
Спасибо еще раз.
0
Администратор
 Аватар для mik-a-el
87808 / 53129 / 249
Регистрация: 10.04.2006
Сообщений: 13,760
23.12.2007, 18:22
kommunist, постарайтесь сделать сами. Это просто.
0
0 / 0 / 1
Регистрация: 06.11.2007
Сообщений: 51
28.12.2007, 16:15  [ТС]
Cпасибо все получилось.
0
128 / 1 / 0
Регистрация: 14.10.2007
Сообщений: 122
29.12.2007, 13:18
Цитата Сообщение от kommunist Посмотреть сообщение
Cпасибо все получилось.
Скинь свой код подывымось.
0
0 / 0 / 1
Регистрация: 06.11.2007
Сообщений: 51
29.12.2007, 15:24  [ТС]
Цитата Сообщение от kurzon Посмотреть сообщение
Скинь свой код подывымось.

C#
1
2
3
4
5
6
7
8
        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process[] processes;                              
            processes = System.Diagnostics.Process.GetProcesses();                          foreach (System.Diagnostics.Process instance in processes)                   
   {
                listBox1.Items.Add(instance.ProcessName);
            }
        }
0
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 7
25.04.2009, 06:03
а не подскажете как узнать путь до исполняемого файла...и что это за программа запущена
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
02.05.2009, 06:39
Process.StartInfo.FileName
0
2 / 2 / 0
Регистрация: 10.02.2009
Сообщений: 57
02.05.2009, 09:37
Цитата Сообщение от Green Посмотреть сообщение
Process.StartInfo.FileName
В догонку )

C#
1
2
3
4
5
6
7
8
Process[] proc = Process.GetProcesses();
          
            int pCount = proc.Length;
            for (int i = 0; i < pCount; i++)
            {
          listBox4.Items.Add(proc[i].ProcessName + " / " + proc[i].PrivateMemorySize);                  
          listBox4.Items.Add(proc[i].StartInfo.FileName);
            }
Чего то FileName не выводится :-( Че я не так делаю?
0
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 7
03.05.2009, 01:48
Цитата Сообщение от Green Посмотреть сообщение
Process.StartInfo.FileName
кстати внатуре непахает. в описании написано что это типо для подготовки к запуску
для использования process.Start()

но спасибо за наводку начал думать в этом направлении и вот чо нарыл

C#
1
instance.MainModule.FileName
тока оно иногда исключение выбрасывает так что вот так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public void GetRuningProcesses()
        {
            list_of_runing_processes.Clear();
            //здесь смотрим процессы
            System.Diagnostics.Process[] procs;
            procs = System.Diagnostics.Process.GetProcesses();
 
            foreach (System.Diagnostics.Process instance in procs)
            {
                try
                {
                    list_of_runing_processes.Add(new myprocess(instance.ProcessName, instance.MainModule.FileName));
                }
                catch(Exception e)
                {
                    list_of_runing_processes.Add(new myprocess(instance.ProcessName, ""));
                }
            }
        }
думаю разберётесь...

и подскажите..если можете лучше.буду благодарен за улучшенный вариант
0
2 / 2 / 0
Регистрация: 10.02.2009
Сообщений: 57
03.05.2009, 12:07
Да, мне Green уже говорил, что это проблема с процессом Idle. У него нельзя узнать другие параметры. gr_student, ты кстати писал, чтобы можно было узнавать сколько шел процесс/время запуска/окончание. А можно узнать вообще какие процессы были запущены с момента включения, а не текущие? Я видел это вроде можно сделать при помощи WMI, но в классе Win32_Process только:
CreationDate – Дата создания
Name - Имя
ProcessID – Идентификатор процесса
Priority - Приоритет
ExecutablePath – Путь к исполняемому файлу

Добавлено через 2 часа 23 минуты 40 секунд
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 string queryString =
                "SELECT Name, ProcessId, Caption, ExecutablePath" +
                "  FROM Win32_Process";
 
             SelectQuery query = new SelectQuery(queryString);
             ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
 
             ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
             ManagementObjectCollection processes = searcher.Get();
 
             foreach (ManagementObject mo in processes)
             {
                 listBox.Items.Add(mo["Name"].ToString());
                 listBox.Items.Add(Convert.ToInt32(mo["ProcessId"]));
                 if (mo["Caption"] != null)
                     listBox.Items.Add(mo["Caption"].ToString());
                 if (mo["ExecutablePath"] != null)
                     listBox.Items.Add(mo["ExecutablePath"].ToString());
               
             }
Вот так работает
1
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 7
03.05.2009, 22:52
JOHN-YAR, чёто непомню что я говорил....но в реестре есть веточка там храняться последние запускавшиеся приложения.
0
2 / 2 / 0
Регистрация: 10.02.2009
Сообщений: 57
03.05.2009, 23:00
gr_student, да я забыл знак вопроса поставить... че за веточка то...и насколько последние там приложения храняться?
0
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 7
04.05.2009, 00:27
чота подзабыл я...хз где записывал или читал. щас точно не вспомню
гугл в помощь.
0
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 7
11.05.2009, 00:57
знач первое, что можно попытаться применить это вот эта веточка:
HKEY_CURRENT_USER\Software\Microsoft\Win dows\ShellNoRoam\MUICache

ну а реально список содержиться здесь но он в бинарном виде
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Explorer UserAssist {ИДЕНТИФИКАТОР}Count
кто знает как его преобразовать программно?
0
1 / 1 / 0
Регистрация: 10.06.2010
Сообщений: 75
07.11.2010, 13:00
Я сделал так:
C#
1
2
3
4
5
6
7
8
         private void Form1_Load(object sender, EventArgs e)
        {
            System.Diagnostics.Process[] processes;                              
            processes = System.Diagnostics.Process.GetProcesses();                          foreach (System.Diagnostics.Process instance in processes)                   
   {
                listBox1.Items.Add(instance.ProcessName);
            }
        }
Вот я этот взял код. А как сделать, чтобы при нажатии на кнопку убился выделенный процесс?
1
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
07.11.2010, 13:12
C#
1
process[listBox1.SelectedIndex].Kill();
0
1 / 1 / 0
Регистрация: 10.06.2010
Сообщений: 75
07.11.2010, 13:23
Цитата Сообщение от Konctantin Посмотреть сообщение
C#
1
process[listBox1.SelectedIndex].Kill();
The name "process" doesn`t exist in the current context

Добавлено через 4 минуты
У меня такой код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 private void Form1_Load(object sender, EventArgs e)
        {
            System.Diagnostics.Process[] processes;
            processes = System.Diagnostics.Process.GetProcesses();
            foreach (System.Diagnostics.Process instance in processes)
            {
                listBox1.Items.Add(instance.ProcessName);
                //button1_Click = processes[listBox1.SelectedIndex].Kill();
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            process[listBox1.SelectedIndex].Kill();
        }
Но на кнопке выдает ошибку The name "process" doesn`t exist in the current context
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
07.11.2010, 13:41
сори, ошибся
C#
1
process[listView1.SelectedIndices[0]].Kill();
да и System.Diagnostics.Process[] processes; надо объявить как переменную внутри класса формы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2010, 13:41
Помогаю со студенческими работами здесь

Как получить список всех запущенных приложений?
Здравствуйте! Нужно получить список всех запущенных приложений, написал вот такой код: using System; using System.Diagnostics; ...

Получить список процессов
Собственно сабж,но есть небольшое дополнение: После того, как юзер выберет нужный процесс, мы должны проверить подходит ли выбранный...

Получить список процессов с расширениями
Есть такой код Process processes; processes = System.Diagnostics.Process.GetProcesses(); foreach (Process instance in...

Как получить список всех процессов?
Привет всем не подкажете как получить список всех процессов(не только запущенных).А потом чтобы можно было выбрать процес и запустить его.я...

Ожидание окончания работы запущенных процессов
Запуск N заданных пользователем процессов. Ожидание окончания работы запущенных процессов. *на примере команды ping что надо сделать в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru