Код IT
← Каталог

Простые приложения на C# — Пример кода

Фрагмент из «Простые приложения на C#»: Пример кода.

C# main.cs
using System;
using System.Diagnostics;

class ProcessViewer
{
    static void Main()
    {
        Process[] processes = Process.GetProcesses();

        Console.WriteLine($"Активных процессов: {processes.Length}\n");
        Console.WriteLine("PID      | Имя процесса       | Время CPU (сек)");
        Console.WriteLine("--------------------------------------------------");

        // Ограничиваем вывод первыми 20 процессами для читаемости
        int count = 0;
        foreach (Process proc in processes)
        {
            if (count >= 20) break;

            try
            {
                string name = proc.ProcessName;
                long cpuSeconds = (long)(proc.TotalProcessorTime.TotalSeconds);
                int pid = proc.Id;

                Console.WriteLine($"{pid,-8} | {name,-18} | {cpuSeconds}");
            }
            catch (InvalidOperationException)
            {
                // Процесс завершился до чтения данных
                continue;
            }
            catch (System.ComponentModel.Win32Exception)
            {
                // Нет прав доступа к процессу
                continue;
            }

            count++;
        }
    }
}
using System;
using System.Diagnostics;

class ProcessViewer
{
    static void Main()
    {
        Process[] processes = Process.GetProcesses();

        Console.WriteLine($"Активных процессов: {processes.Length}\n");
        Console.WriteLine("PID      | Имя процесса       | Время CPU (сек)");
        Console.WriteLine("--------------------------------------------------");

        // Ограничиваем вывод первыми 20 процессами для читаемости
        int count = 0;
        foreach (Process proc in processes)
        {
            if (count >= 20) break;

            try
            {
                string name = proc.ProcessName;
                long cpuSeconds = (long)(proc.TotalProcessorTime.TotalSeconds);
                int pid = proc.Id;

                Console.WriteLine($"{pid,-8} | {name,-18} | {cpuSeconds}");
            }
            catch (InvalidOperationException)
            {
                // Процесс завершился до чтения данных
                continue;
            }
            catch (System.ComponentModel.Win32Exception)
            {
                // Нет прав доступа к процессу
                continue;
            }

            count++;
        }
    }
}