【发布时间】:2018-09-22 18:19:34
【问题描述】:
当我打开任务管理器时,我会看到机器上正在运行的所有进程。
我想知道是否有可能在内核级别(在设备驱动程序中)区分系统级别进程(如服务)和用户级应用程序(如“记事本”)为特定运行用户?
详细说明:在 Windows 7 上,有一个“应用程序”选项卡和一个“进程”选项卡...我想要与“应用程序”选项卡相同的列表,仅在设备驱动程序级别获得
我有获取所有进程的 C# 代码..
Process[] localAll = Process.GetProcesses();
我需要将其转换为设备驱动程序并仅返回应用程序
【问题讨论】:
-
您是在问如何判断进程在哪个帐户中运行?每个进程都是一个进程,每个进程都使用某个帐户的凭据运行。请注意,基于帐户的区分与应用程序的“通常”定义不匹配,这涉及创建可见窗口。
-
不,“帐户”将包含系统级进程和用户级进程-我要问的是:是否可以在“内核级别”区分系统级进程,(例如作为服务)和用户级进程,例如应用程序(例如记事本)。
-
您所说的所有进程都是用户模式,没有一个是内核模式。许多服务可以通过帐户来区分,例如LOCAL_SERVICE、NETWORK_SERVICE,甚至是SYSTEM。并且可以通过某种方式区分服务管理器控制的所有服务(任务管理器显示每个服务的 PID)。但是,还有其他不是服务的后台进程,您可能不希望将其包含在应用程序列表中。您希望使用的确切规则是什么?
-
打开任务管理器......有一个“应用程序”选项卡和一个“进程”选项卡(无论如何在Windows 7下)......我想要与“应用程序”选项卡相同的列表。
-
好的,编辑你的问题说(虽然在 8.1 我看到一个选项卡“进程”,并且列表分为“应用程序”和“后台进程”和“Windows 进程”)
标签: windows kernel device-driver