C# 如何在一段时间内显示正在运行的应用程序列表?

C# 如何在一段时间内显示正在运行的应用程序列表?,c#,windows,winforms,listview,keylogger,C#,Windows,Winforms,Listview,Keylogger,我正在尝试用C#创建一个键盘记录器,显示在RichTextBox中键入的文本,并显示在一段时间内打开的正在运行的应用程序。例如,列表视图中的图像,其中包含在某个时间打开的应用程序图标和在RichTextBox中键入的文本。我已经完成了按键记录,但是这个ListView问题是我无法解决的。以下是我暂时拥有的: private void button1_Click(object sender, EventArgs e) { string appName = Application.Produ

我正在尝试用C#创建一个键盘记录器,显示在
RichTextBox
中键入的文本,并显示在一段时间内打开的正在运行的应用程序。例如,
列表视图
中的图像,其中包含在某个时间打开的应用程序图标和在
RichTextBox
中键入的文本。我已经完成了按键记录,但是这个
ListView
问题是我无法解决的。以下是我暂时拥有的:

private void button1_Click(object sender, EventArgs e)
{
    string appName = Application.ProductName;
    MessageBox.Show(appName);
    //To find the name of the executable
    appName = Path.GetFileName(Application.ExecutablePath);
    MessageBox.Show(appName);
}

这将只在
消息框中显示它,并且只包含正在运行的文件的名称和路径。不是所有正在运行的应用程序。有什么建议吗

为此,您需要一个进程数组,我不清楚您希望如何显示详细信息,但在使用Process类中的方法时要小心,因为使用它可以杀死大量进程,并且可能导致系统不稳定

使用系统诊断

Process[] processes = Process.GetProcesses();
List<string> namesOfRunningProcesses = new List<string>();
foreach(Process p in processes)
 namesOfRunningProcesses.Add(p.ProcessName);
Process[]processs=Process.getprocesss();
运行进程的列表名称=新列表();
foreach(进程中的进程p)
运行进程的名称。添加(p.ProcessName);

您还可以访问进程的其他属性,如开始时间、运行时间等。此页上有一个完整的属性列表。然后你可以做任何你想做的事情,将它添加到列表视图或其他任何东西。

你需要一个进程数组来实现这一点,我不清楚你想如何显示细节,就像这样做,但是在使用process类中的方法时要小心,因为使用它可以杀死很多进程,并且可能导致系统不稳定

使用系统诊断

Process[] processes = Process.GetProcesses();
List<string> namesOfRunningProcesses = new List<string>();
foreach(Process p in processes)
 namesOfRunningProcesses.Add(p.ProcessName);
Process[]processs=Process.getprocesss();
运行进程的列表名称=新列表();
foreach(进程中的进程p)
运行进程的名称。添加(p.ProcessName);

您还可以访问进程的其他属性,如开始时间、运行时间等。此页上有一个完整的属性列表。然后你可以做任何你想做的事情,将它添加到列表视图或其他任何地方。

我认为应该为你指明正确的方向。谢谢,有没有办法让列表框显示程序历史记录(用户在一段时间内打开的内容)?再次感谢。我认为应该为您指出正确的方向。谢谢,有没有办法让列表框显示程序历史记录(用户在一段时间内打开的内容)?再次感谢。是的,谢谢。这就是我要找的。我马上去。好的,谢谢。这就是我要找的。我马上去办。