C# 为什么在向dataGridView1添加进程时,我只看到9个进程?
当我运行windows rask manager时,我看到许多进程/应用程序。 但在我的程序中,我只看到9个C# 为什么在向dataGridView1添加进程时,我只看到9个进程?,c#,.net,winforms,C#,.net,Winforms,当我运行windows rask manager时,我看到许多进程/应用程序。 但在我的程序中,我只看到9个 void PopulateApplications() { dataGridView1.Rows.Clear(); foreach (Process p in Process.GetProcesses()) { if (p.MainWindowTi
void PopulateApplications()
{
dataGridView1.Rows.Clear();
foreach (Process p in Process.GetProcesses())
{
if (p.MainWindowTitle.Length > 1)
{
var icon = Icon.ExtractAssociatedIcon(p.MainModule.FileName);
ima = icon.ToBitmap();
ima = resizeImage(ima, new Size(25, 25));
ima.Save(@"c:\temp\ima.jpg");
String status = p.Responding ? "Running" : "Not Responding";
dataGridView1.Rows.Add(ima,p.ProcessName, status);
DoubleBuffered1(dataGridView1, true);
}
}
firsttime += 1;
if (firsttime == 1)
{
NumberOfRows = dataGridView1.Rows.Count;
}
if (NumberOfRows != dataGridView1.Rows.Count)
{
int diff = dataGridView1.Rows.Count - NumberOfRows;
this.Height = this.Height + (ROW_SIZE * diff);
NumberOfRows = dataGridView1.Rows.Count;
}
}
我在流程上循环,并为每个流程及其图标添加一行。
但我在dataGridView1中只看到9个进程
如何将所有进程/应用程序添加到任务管理器中的dataGridView1行?
我如何才能找到系统一直运行的进程列表,这些进程我无法关闭,但正在运行?因为许多进程都是后台进程/运行时没有任何附加的窗口,因此将是空的(
string.empty
正确),并且测试if(p.MainWindowTitle.Length>1)
将为所有这些进程返回false
说:
如果关联的进程没有主窗口(因此MainWindowHandle为零),则MainWindowTitle为空字符串(“”)
quantdev那么运行windows rask管理器时会显示什么?他展示了很多进程/应用程序。你看过
Process.ProcessName
?您能确认问题已解决吗?是的,那么我如何进行设置并获取所有图标?我在这里使用ProcessName:dataGridView1.Rows.Add(ima,p.ProcessName,status);如果(p.MainWindowTitle.Length>1),就不要进行测试。此外,在检索图标之前,还应该测试字符串p.MainModule.FileName
,有些进程没有图标。请记住接受答案。