以下示例检索的信息涉及当前进程、本地计算机上运行的“记事本”的所有实例、在使用计算机别名和 IP 地址的特定计算机上运行的“记事本”的所有实例、本地计算机和远程计算机上运行的所有进程,以及本地计算机或远程计算机上使用进程 ID 的特定进程。
[Visual Basic] 
Imports System
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
    _
   '/ <summary>
   '/ Shell for the sample.
   '/ </summary>
   Public Class MyProcess
      
      
      
      
      Public Sub BindToRunningProcesses()
         ' Get the current process.
         Dim currentProcess As Process = Process.GetCurrentProcess()
         
         
         ' Get all instances of Notepad running on the local
         ' computer.
         Dim localByName As Process() = Process.GetProcessesByName("notepad")
         
         
         ' Get all instances of Notepad running on the specifiec
         ' computer.
         ' 1. Using the computer alias (do not precede with "\\").
         Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")
         
         ' 2. Using an IP address to specify the machineName parameter. 
         Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")
         
         
         ' Get all processes running on the local computer.
         Dim localAll As Process() = Process.GetProcesses()
         
         
         ' Get all processes running on the remote computer.
         Dim remoteAll As Process() = Process.GetProcesses("myComputer")
         
         
         ' Get a process on the local computer, using the process id.
         Dim localById As Process = Process.GetProcessById(1234)
         
         
         ' Get a process on a remote computer, using the process id.
         Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
      End Sub 'BindToRunningProcesses
       
      
      
      
      Public Shared Sub Main()
         
         Dim myProcess As New MyProcess()
         
         
         myProcess.BindToRunningProcesses()
      End Sub 'Main 
   End Class 'MyProcess
End Namespace 'MyProcessSample
[C#] 
using System;
using System.Diagnostics;
using System.ComponentModel;namespace MyProcessSample
{
    /// <summary>
    /// Shell for the sample.
    /// </summary>
    public class MyProcess
    {
        
       
        
        public void BindToRunningProcesses()
        {
            // Get the current process.
            Process currentProcess = Process.GetCurrentProcess();            
            // Get all instances of Notepad running on the local
            // computer.
            Process [] localByName = Process.GetProcessesByName("notepad");            
            // Get all instances of Notepad running on the specifiec
            // computer.
            // 1. Using the computer alias (do not precede with "\\").
            Process [] remoteByName = Process.GetProcessesByName("notepad", "myComputer");
            
            // 2. Using an IP address to specify the machineName parameter. 
            Process [] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");
            
            
            // Get all processes running on the local computer.
            Process [] localAll = Process.GetProcesses();            
            // Get all processes running on the remote computer.
            Process [] remoteAll = Process.GetProcesses("myComputer");            
            // Get a process on the local computer, using the process id.
            Process localById = Process.GetProcessById(1234);            
            // Get a process on a remote computer, using the process id.
            Process remoteById = Process.GetProcessById(2345, "myComputer");
            
        }
        
        public static void Main()
        {
                
                   MyProcess myProcess = new MyProcess();
                        myProcess.BindToRunningProcesses();            }    
    }
}

解决方案 »

  1.   

    第二个问题估计很难,在以前的98系统里可以,可是2000系统好像没有那个API了。
      

  2.   

    System.Diagnostics.Process[] myprocess = System.Diagnostics.Process.GetProcesses();foreach(System.Diagnostics.Process p in myprocess)
    { ListViewItem item=new ListViewItem();item.Text=shuliang.ToString();item.SubItems.Add(p.ProcessName.ToString());//获取进程名字
    item.SubItems.Add(p.Id.ToString());//获取进程ID
    item.SubItems.Add(p.Responding.ToString());//获取进程是否响应
    item.SubItems.Add(p.StartTime.ToString());//获取进程的开始时间
    item.SubItems.Add(p.TotalProcessorTime.ToString());//获取进程运行时间
    item.SubItems.Add(p.VirtualMemorySize.ToString());//获取进程虚拟内存大小
    item.SubItems.Add(p.WorkingSet.ToString());//获取进程物理内存大小
    item.SubItems.Add(p.MainWindowTitle);//获取进程的主窗口标题
    //item.SubItems.Add(p.PriorityClass.ToString());//获取进程优先级
    sjc_listview.Items.Add(item);}提取系统进程用ListView显示出来~~C#的~~