Beispiel #1
0
        private void CreateGrid()
        {
            processesGridView.DataSource = null;

            var processes = Win32Process.GetProcesses().Where(x => IncludeInGrid(x)).ToList();

            var data = processes.Select(x => new { x.ProcessId, x.CommandLine, x.CreationDate, Program = ParseProgram(x.CommandLine) }).ToList();

            processesGridView.DataSource = data;
            processesGridView.ClearSelection();

            processesGridView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            processesGridView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            processesGridView.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            processesGridView.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

            for (var i = 0; i <= processesGridView.Columns.Count - 1; i++)
            {
                var colw = processesGridView.Columns[i].Width;
                processesGridView.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                processesGridView.Columns[i].Width        = colw;
            }

            if (!data.Any())
            {
                return;
            }

            processesGridView.Rows[0].Selected = true;
        }
Beispiel #2
0
        private bool IncludeInGrid(Win32Process process)
        {
            if (showAllCheckBox.Checked)
            {
                return(true);
            }

            // Hide processes with empty commandline
            if (string.IsNullOrWhiteSpace(process.CommandLine))
            {
                return(false);
            }

            // Hide processes without specific dll
            if (!process.CommandLine.Contains(".dll", StringComparison.InvariantCultureIgnoreCase))
            {
                return(false);
            }

            if (process.CommandLine.Contains("dotnet-watch.dll", StringComparison.InvariantCultureIgnoreCase))
            {
                return(false);
            }

            if (process.CommandLine.Contains("VBCSCompiler", StringComparison.InvariantCultureIgnoreCase))
            {
                return(false);
            }

            if (process.CommandLine.Contains("rzc.dll", StringComparison.InvariantCultureIgnoreCase))
            {
                return(false);
            }

            return(true);
        }