如何在一段时间内显示运行个应用列表?

How do I show running application list in a period of time?

我正在尝试在 C# 中创建一个键盘记录器,它显示在 RichTextBox 中键入的文本并显示在一段时间内打开的 运行 应用程序。例如。 ListView 中的图像,其中包含一次打开的应用程序图标和 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);
}

这只会在 MessageBox 中显示,并且仅包含文件的名称和路径 运行。并非所有 运行 的应用程序。有什么建议么?

为此您需要一个进程数组,我不清楚您希望如何显示详细信息像这样就可以了,但是在使用进程 class 中的方法时要小心可以用它杀死很多进程,这可能会导致 系统不稳定

using System.Diagnostics;

Process[] processes = Process.GetProcesses();
List<string> namesOfRunningProcesses = new List<string>();
foreach(Process p in processes)
 namesOfRunningProcesses.Add(p.ProcessName);

您还可以访问流程的其他属性,例如开始时间、运行 时间等。此处提供有关此 MSDN Link 的完整属性列表。然后你可以做任何你想做的事,将它添加到列表视图或其他任何东西。