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

时间:2017-07-13 04:26:33

标签: c# windows winforms listview keylogger

我正在尝试在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中显示,并且包含仅运行的文件的名称和路径。并非所有正在运行的应用程序。有什么建议?

1 个答案:

答案 0 :(得分:0)

你需要一个Process数组,我不清楚你希望如何显示细节这样的东西会这样做但是在使用流程类中的方法时要小心,因为你可以杀死很多进程使用它可能会导致系统不稳定

using System.Diagnostics;

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

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