标题是什么,
我需要帮助找出如何列出列表框中的高优先级进程。我能够提取列表框中的所有进程,但未经过滤。
Process[] allprocs;
private void GetProccesses()
{
allprocs = Process.GetProcesses();
if(Convert.ToInt32(ProcNumLabel.Text) != allprocs.Length)
{
ProcList.Items.Clear();
for(int i=0; i<allprocs.Length; i++)
{
ProcList.Items.Add(allprocs[i].ProcessName);
}
ProcNumLabel.Text = allprocs.Length.ToString();
}
我有一个标签,用于计算当前列表中的进程数量。高优先级列表框是我想要做的下一步。
添加了:
for(int i=0; i<allprocs.Length; i++)
{
ProcList.Items.Add(allprocs[i].ProcessName);
if(allprocs[i].PriorityClass == ProcessPriorityClass.High)
{
HiList.Items.Clear();
HiList.Items.Add(allprocs[i].ProcessName);
}
}
ProcNumLabel.Text = allprocs.Length.ToString();
解决了我的问题。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
GetAllProcesses();
}
private void GetAllProcesses()
{
AllProcBox.Items.Clear();
HiPriBox.Items.Clear();
foreach(System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
{
if (p.BasePriority == 13)
{
HiPriBox.Items.Add(p.ProcessName);
}
if (p.BasePriority < 13)
{
AllProcBox.Items.Add(p.ProcessName);
}
}
}
完成工作。
Windows不喜欢&#34; ProcessPriorityClass.High&#34;
答案 0 :(得分:0)
试
psql
确保您拥有allprocs = Process.GetProcesses().Where(p=>p.PriorityClass == PriorityClass.High).ToArray();