整理一下 Windows 自启动项的存放位置

Windows 自启动项查询整理

目前有很多产品 都可以获取系统自启动项 如360安全卫士、autoRun、Dism++等等,在使用上各有不同,Windows的自启动项主要有以下几项:

  1. 自启动文件夹
  2. 注册表启动项
  3. 系统服务
  4. 系统驱动程序
  5. 任务计划
  6. 动态链接库
  7. 映像劫持

本文主要提供一下上述几项的信息和查询方式,另外需要补充的是,对于查询结果处理的准确性可结合多方面进行校验,这边罗列一下可以提供校验的工具:

  1. 【系统】。Windows提供了可以查看自启动软件(msconfig),服务(services.msc),定时任务的工具(管理工具)的工具,包括注册表也可以用来使用,以上这几个是系统提供的可供查询的路径。
  2. 【AutoRun】。这是一个软件,可以自行去找相关资源使用,这个软件很强大。可以参考这个去实现查询功能,里边很多设计的点都可以借鉴。

1. 自启动文件夹

自启动文件夹指的是Win系统上有专门的文件夹来存放自启动项,直接通过资源管理器查看即可:

1. %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2. %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup

直接复制上述路径粘贴到资源管理器即可打开,如下所示两个路径下的应用程序也会是Win系统的启动项

如果是通过C++去查询,则需要使用函数去获取自启动项的绝对路径,使用 ExpandEnvironmentStrings可以获取环境变量所指向的绝对路径。

如果获取的是快捷方式,可以看看我的这篇文章:

【WIN】【C/C++】获取快捷方式指向的位置

【WIN】【C/C++】获取文件版本号

【WIN】【C++】遍历文件夹下所有文件

2. 通过注册表启动项

注册表作为Windows一个核心,自然也少不了保存相关项来存储自启动程序,注册表下的自启动项路径主要有以下 8 个部分,其中可能有重复项,需要自己去过滤重复项:

1. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
2. HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
3. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
4. HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
5. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
6. HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
7. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
8. HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
此外,64位操作系统中,还存在一个重定向到32位的映射路径,如下:
9. HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

注册表项相对较多,可以提供一个统一的接口,逐个调用获取每个注册表路径下的启动项就好。

接口的大致过程分为三个步骤:

  1. RegOpenKeyEx()进入目标路径
  2. 使用while循环RegEnumValue遍历当前注册表路径
  3. 使用RegClose关闭句柄

百度【枚举注册表子项 | RegEnumValue】能查到较多相关demo,既然都写了,那就贡献一个我自己写的接口:

其中获取文件属性的代码我注释掉了,如有需要,请到这里

【WIN】windows自启动项查询整理相关推荐

  1. windows自启动项msconfig介绍

    MicrosoftSystem Configuration即是系统配置实用程序,缩写为msconfig,在计算机的开始菜单栏输入缩写然后搜索就能找到该程序,它能够帮助我们禁止或者启动计算机的程序和软件 ...

  2. windows自启动项位置

    1.C:\Documents and Settings\${user}\「开始」菜单\程序\启动 2.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cur ...

  3. windows操作系统的自启动项

    在注册表中"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"下面还有RunOnce,RunOnce ...

  4. centos安装后两个启动项、_Windows安装Centos7双系统后Windows启动项消失

    方法一: 在Centos7下root登陆 编辑 /boot/grub2/grub.cfg vim /boot/grub2/grub.cfg 在第一行添加 menuentry "Windows ...

  5. 可以查看计算机主要自启动项的技术,电脑中怎么查看启动项

    电脑中怎么查看启动项 腾讯视频/爱奇艺/优酷/外卖 充值4折起 现如今,电脑已经和人们的日常生活与工作息息相关了,当我们在使用电脑处理工作或其他事情的时候,如何查看其中的启动项呢?接下来就由小编来告诉 ...

  6. 惠普服务器停电后进不了系统,惠普电脑出现了startup menu 然后按f10进不去bios。进入的是Windows启动项...

    惠普电脑出现了startup menu 然后按f10进不去bios.进入的是Windows启动项以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  7. 第三章:Windows 7操作——知识点整理

    第三章:Windows 7操作--知识点整理 第三章:Windows 7操作 知识梳理 高频考点 3.1 操作系统概述 3.1.1 操作系统的概念 3.1.2 操作系统的功能 ⭐️⭐️⭐️ 3.1.3 ...

  8. win10关闭自动更新(针对已经关闭windows update项,但系统仍自动更新的问题)

    1.首先打开电脑服务项,找到Windows update项,并双击打开属性一栏 2.将启动类型替换为禁用 3.点击上面的恢复,选择第一次失败后无操作. 4.选择应用,并点击确定关闭. 针对大部分电脑只 ...

  9. 彻底关闭win10自动更新(针对已经关闭windows update项,但系统仍自动更新的问题)

    1.首先打开电脑服务项,找到Windows update项,并双击打开属性一栏 2.将启动类型替换为禁用 3.点击上面的恢复,选择第一次失败后无操作. 4.选择应用,并点击确定关闭. 针对大部分电脑只 ...

  10. 《Win10——如何设置开机自启动项》

    Win10--如何设置开机自启动项 1. 为需要自启动的程序创建快捷方式. 2. Win+R输入"shell:startup",按下回车键出现一个文件夹. 3. 将快捷方式拖入文件 ...

最新文章

  1. Java Mail 邮件发送(一):入门Demo
  2. Ubuntu下通过 PPA 安装 Komodo 编辑器
  3. spring data redis使用示例
  4. C程序在Ubuntu下创建运行
  5. python 字符串 数字_Python基础教程:数字、字符串
  6. XML4跨浏览器兼容
  7. linux c的连接库和怎么同时编译多个源程序
  8. 更新node_kubernetes证书更新
  9. IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
  10. 如何在CAD中插入一个自定义对象?
  11. Smali语言基础语法
  12. Nexus私服(三)
  13. 稳压二极管(ZenerDiod齐纳二极管)
  14. 用PyOpenGL叩开3D的心扉——OpenGL全解析(4)
  15. conda 多环境切换
  16. [VCam和VSC]-VCam虚拟摄像头和 VSC虚拟声卡的使用方法
  17. 工具软件推荐——GifCam
  18. [SpringBoot系列]基础过渡与夯实(基础配置)
  19. 如何能成为一个更优秀的人
  20. vue框架和uniapp框架区别,前端vue和uniapp哪个好用

热门文章

  1. 数据治理:携程度假的数据治理实践
  2. 51单片机自学--PWM波占空比程序解释
  3. 【手拉手 带你准备电赛】使用定时器中断更改PWM占空比
  4. 鲁百年创新设计思维学习总结
  5. python求15 17 23 65 97的因数_32个常用的Python功能介绍
  6. 【话题:工作生活】2020年工作总结--杭漂结束,沪漂开始。
  7. python能开发微信公众号吗_用python如何开发微信公共帐号?
  8. iphone 4s IOS9 越狱教程
  9. 癌症病人不让吃鸡蛋,癌症病人营养要如何补充?
  10. 攻防比赛中蓝队常用的攻击方法