当前位置: 首页 > news >正文

Windows 系统上使用任务管理器查看进程的各项属性(命令行、DPI、管理员权限等)

Windows 系统上的任务管理器进化到 Windows 10 的 1809 版本后,又新增了几项可以查看的进程属性。

本文介绍可以使用任务管理器查看的各种进程属性。


本文内容

    • 如何查看进程的各种属性
    • 名称、PID、状态
    • 路径名称、命令行
    • 用户名、特权、UAC 虚拟化
    • DPI 感知

如何查看进程的各种属性

在任务栏上右键,选择“任务管理器”;或者按下 Ctrl + Shift + Esc 可以打开任务管理器。如果你的电脑死掉了,也可以按 Ctrl + Alt + Del 再选择任务管理器打开。

在顶部列表标题上右键,可以选择列,在这里可以打开和关闭各种各样可以查看的进程属性。

任务管理器,选择列

名称、PID、状态

名称不用多说,就是启动这个进程时的程序文件的名称。

值得注意的是,名称自进程启动时就确定了,即便你在运行期间改了名字,进程名也不会变。关于运行期间改名,可以参见:

  • Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新) - 吕毅。

PID 可以唯一确定当前系统运行期间的一个进程,所以用 PID 来找到进程是最靠谱的(前提是你拿得到)。这里有一个有意思的事情,可以阅读这些文章:

  • Windows 的 PID为什么是 4 的倍数 - 开源中国社区
  • WINDOWS 进程或线程号为什么是 4 的倍数 - GUO Xingwang - 博客园

进程的状态可以阅读:

  • 进程的挂起状态详细分析 - FreeeLinux’s blog - CSDN博客

路径名称、命令行

路径名称可以帮助我们了解这个进程是由计算机上的哪个程序启动产生的。

不过我更喜欢的是“命令行”。因为除了可以看进程的路径之外,还可以了解到它是如何启动的。比如下面这篇博客中,我就是在任务管理器了解到这些工具的启动参数的。

  • 使用 Visual Studio 自定义外部命令 (External Tools) 快速打开 git bash 等各种工具 - 吕毅

关于命令行中的路径,可以参见我的其他博客:

  • .NET 命令行参数包含应用程序路径吗? - 吕毅
  • .NET/C# 获取一个正在运行的进程的命令行参数 - 吕毅

用户名、特权、UAC 虚拟化

我把这三项放在一起说,是因为这三项是与 UAC 相关的项。

用户名指的是启动此进程的那个用户的用户名,这在调试一些提权程序的时候可能会有用。因为对于管理员账户而言,提权前后是同一个用户;而对于标准账户,提权后进程将是管理员账户的进程,于是两个进程运行在不同的用户空间下,可能协作上会出现一些问题。

关于用户账户以及提权相关的问题,可以阅读 Windows 中的 UAC 用户账户控制 - 吕毅。

特权(Privilege)指的是此进程是否运行在管理员权限下。值为“是”则运行在管理员权限下,值为“否”则运行在标准账户权限下。

关于特权级别相关的问题,可以阅读 Windows 中的 UAC 用户账户控制 - 吕毅。

UAC 虚拟化相关的问题可以阅读 应用程序清单 Manifest 中各种 UAC 权限级别的含义和效果 - 吕毅。

DPI 感知

可以查看进程的 DPI 感知级别。

进程的 DPI 感知级别有以下这些,名字来源于 Windows 系统任务管理器上的显示名称。

  • 不知道 (Unaware)
  • 系统 (System DPI Awareness)
  • 每个显示器 (Per-Monitor DPI Awareness)
  • 每个显示器(v2) (Per-Monitor V2 DPI Awareness)

关于 DPI 感知级别的更多内容,可以阅读我的其他博客:

  • Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32) - 吕毅
  • 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发 - 吕毅

我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

相关文章:

  • C#/.NET 如何获取一个异常(Exception)的关键特征,用来判断两个异常是否表示同一个异常
  • C#/.NET 如何在第一次机会异常 FirstChanceException 中获取比较完整的异常堆栈
  • C#/.NET 使用 git 命令行来操作 git 仓库
  • C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思?
  • WPF 的命令的自动刷新时机——当你 CanExecute 会返回 true 但命令依旧不可用时可能是这些原因
  • 将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本)
  • 如何在 MSBuild 的项目文件 csproj 中获取绝对路径
  • C# 跨设备前后端开发探索
  • MSBuild 如何编写带条件的属性、集合和任务 Condition?
  • WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码
  • 如何快速自定义 Visual Studio 中部分功能的快捷键
  • C# 8.0 如何在项目中开启可空引用类型的支持
  • C# 8.0 可空引用类型中的各项警告/错误的含义和示例代码
  • C# 可空引用类型 NullableReferenceTypes 更强制的约束:将警告改为错误 WarningsAsErrors
  • ClearType 的原理:Windows 上文本的亚像素控制
  • Android组件 - 收藏集 - 掘金
  • CSS实用技巧
  • HashMap ConcurrentHashMap
  • input的行数自动增减
  • Java|序列化异常StreamCorruptedException的解决方法
  • LeetCode18.四数之和 JavaScript
  • Netty源码解析1-Buffer
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 动态魔术使用DBMS_SQL
  • 记录一下第一次使用npm
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 思维导图—你不知道的JavaScript中卷
  • 微服务框架lagom
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 小程序开发之路(一)
  • 移动端 h5开发相关内容总结(三)
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • #图像处理
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (09)Hive——CTE 公共表达式
  • (Git) gitignore基础使用
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (九十四)函数和二维数组
  • (转)创业家杂志:UCWEB天使第一步
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core Web APi类库如何内嵌运行?
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @Valid和@NotNull字段校验使用
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Angular 基础] - 表单:响应式表单