在我的Windows启动项里始终有几个名为“Program”的程序,看起来是已经卸载的软件残留,而且禁用了没什么影响。不过看着碍眼,决定处理掉它们。

任务管理器-启动的标题栏右键,勾选“命令行”,此时能看到启动项对应的命令行。果不其然是因为Program Files忘记加引号导致被截断。令人难绷的是连微软自家的Teams安装程序都犯了这个错,很难不嘲笑微软当年决定用Program Files彰显自家文件系统终于支持空格时给自己挖了多大坑。

Task Manager - Program

同样在上图也可以看到启动项是通过何种方式添加的。通过“文件夹”方式添加的话去到开始菜单的“启动”目录,找到对应快捷方式并删除即可。

  • C:\Users\(USERNAME)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  • C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

而通过“注册表”方式添加的话需要到下列注册表位置中查找对应的注册表项:

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

Regedit - Program

找到对应注册表项后删除即可。

当然此种方法也可以用来修复忘记加引号的启动项,类似的找到启动项把引号加上即可——当然最重要的一课可能是避免在路径中使用空格等“特殊符号”。