如何在一段时间内显示运行个应用列表?
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 的完整属性列表。然后你可以做任何你想做的事,将它添加到列表视图或其他任何东西。
我正在尝试在 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 的完整属性列表。然后你可以做任何你想做的事,将它添加到列表视图或其他任何东西。