使用Windows API获取所有Windows启动过程的最佳方法是什么?

我知道我需要查看启动文件夹和某些注册表项。 但是如何使用Windows API呢? 我很想知道Windows XP和Vista。 谢谢你的时间。

没有单一的API可以获取系统启动时运行的所有程序。 考虑Autoruns展示的所有事情。 对该程序的更新有时会允许它显示新的程序类,并且由于这些是程序的更新而不是操作系统,显然不是某些API正在改变以包含更多内容。 相反,它是逐渐扩展其“自动运行程序”概念的程序。

找出希望考虑的“启动过程”,然后您可以确定可以组合使用哪些API或其他技术来找出所有这些过程。

要查看的地方包括:

  • “运行” 注册表项 ,就像AJ提到的那样 。
  • “启动”菜单,由与ShGetFolderPath使用的各种常量及其一些相关函数给出。
  • 计划在登录时运行的任务 。
  • 服务 。

每个项目符号点都包含至少一个指向MSDN页面的链接,该链接应该可以帮助您入门。 如果您需要更多,请考虑提出一些更具体的问题。

我不确定这样的API是否存在。 不过你可以编写一个函数来做到这一点。

启动进程名称和位置存储在注册表中的以下位置:

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run   

您可以编写小函数来打开上面的注册表并阅读启动过程的详细信息。