Windows 7 使用参数调用 taskmgr.exe

Mar*_*aun 14 windows-7 task-manager command-line command-line-arguments

我注意到当我按Ctrl+ Alt+Del并单击任务管理器时,Windows 将其taskmgr.exe /3作为命令调用。几个网站声称任务管理器没有命令行参数。

进程资源管理器中的任务管理器进程

为什么 Windows 附加这个参数?

and*_*415 14

分析

显然,这不是记录在案的行为。我做了一些测试,并记录了我的发现:

评论

  • 在 Windows 8 的开发阶段,直到发布预览版,事情都以类似的方式运作。Windows Vista 和更早的操作系统不受影响。

  • 可执行文件导入了几个API函数(即GetCommandLineWCommandLineToArgvW),用于检索和解析命令行参数。

  • 使用上述任何参数手动启动程序似乎没有任何明显的效果。

如果我必须做出有根据的猜测,我会说数字参数是一个内部启动指示器,可能用于调试目的,然后被抛在后面。

  • "taskmgr /7 /startup" => 从前面的启动选项卡开始!(Windows 8.1)——但“taskmgr /startup /7”和“taskmgr /startup”都没有!(加分:请解释taskmgr.exe的命令行解析算法给出这个证据......) (7认同)
  • @davidbak `taskmgr /anything /startup` 工作,所以 `/startup` 作为第二个参数。 (2认同)