我知道有很多应用程序(比如管理分区的应用程序,如 Partition Magic、Partition Logic、Easeus 等)甚至在 Windows 开始加载自身(我指的是会话管理器)之前就启动了。
这些应用程序加载、执行其请求的工作并再次“将令牌传递”给 Windows。这些应用程序如何做到这一点?有没有办法在应用程序中做这样的事情?
答案1
这系统内部文章解释了所涉及的注册表项。但应用程序不能使用任何“子系统”API,例如 Win32(其他的是 POSIX 和 OS/2 API)。它必须使用大多数未记录的 NT“本机”API。为 Windows 开发的绝大多数应用程序都不是纯本机 API 应用程序。
答案2
如何在 Windows 之前启动一个程序?
我认为您问错了问题(在这种情况下,请查看开始菜单>启动或 msconfig)。
但是,以防万一你确实是这个意思:
您指的是哪种‘程序’?
你指的是不同的操作系统吗?
看看 GRUB/GRUB2/任何其他引导加载程序
您指的是 DOS 应用程序(即某种旧库存/客户管理器)吗?
您使用的是 win9x 吗?就“在 windows 之前加载”而言,这是 DOS 应用程序唯一有意义的情况。
如果您不使用 win9x,那么您可能需要多重引导。
您指的是 Windows 应用程序吗?(如图形用户空间应用程序?)
简单的答案是“不”。(您可以让它与 Windows 一起启动,但不能在它之前启动。)
您指的是自动启动 Windows 服务/守护进程/后台运行的程序吗?
当然;只需将其设置为默认启动即可。即,如果它已定义为服务,请进入控制面板 > 管理工具 > 服务。
如果尚未定义,您可以添加它。
您实际上指的是在 Windows 之前运行的“程序”(即 Windows XP/Vista/7)吗?
您能举个例子说明需要这样做吗?
除了引导加载程序、磁盘加密软件或恢复环境(即 GRUB、truecrypt 的引导加载程序或多种恢复软件中的任何一种)。