【问题标题】:How do I show running application list in a period of time?如何显示一段时间内正在运行的应用程序列表?
【发布时间】:2017-07-13 04:26:33
【问题描述】:

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

【问题讨论】:

  • 我认为This 应该为您指明正确的方向。
  • 谢谢,有没有办法让ListBox显示程序历史(用户在一段时间内打开了什么)?再次感谢。

标签: c# windows winforms listview keylogger


【解决方案1】:

为此,您需要一个 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 上的完整属性列表。然后你可以做任何你想做的事情,将它添加到列表视图或其他任何东西。

【讨论】:

  • 好的,谢谢。这就是我要找的。我会马上解决的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多