Windows尚未启动,如何启动程序?


10

我知道有很多应用程序(例如管理分区魔术师,分区逻辑,Easeus等分区的应用程序)甚至在Windows开始加载自身之前就已启动(我指的是会话管理器)。

这些应用程序将加载,执行其请求的工作,然后再次将“令牌”传递给Windows。这些应用程序是如何做到的?有没有办法在应用程序中做类似的事情?


取决于您所指的“之前”,有些是从主引导记录中加载代码。
摩押

如前所述,我指的是Windows Session Manager。
Diogo

“会话管理器运行之前”与“ Windows开始加载自身之前”不同。两者是Windows NT 6.x引导过程的完全不同的部分。
JdeBP 2011年

@JdeBP:“诸如管理分区魔术师之类的分区”
Diogo

Moab和DM8都已经向您解释了为什么不是一个有用的示例。确实,Partition Magic不会在您询问的过程中的任何时刻运行,因为它不会在Windows“开始加载自身”之前或在会话管理器运行之前运行。重点仍然是您的问题含糊不清,并且您重复该问题都是自相矛盾的。
JdeBP 2011年

Answers:


12

这篇Sysinternals文章介绍了所涉及的注册表项。但是应用程序不能使用任何“子系统” API,例如Win32(其他是POSIX和OS / 2 API)。它必须使用大多数未记录的NT“本机” API。为Windows开发的大多数应用程序都不是纯本机API应用程序。



以为我在某处读到它在Vista中被杀死。编辑正确。
LawrenceC

很好的链接。内容丰富。
MBraedley 2011年

Win32subsystem是会话管理器的一部分,因此您需要重写您含糊的问题...。en.wikipedia.org/wiki/Windows_NT_startup_process
Moab

2

在Windows之前如何启动程序?

我相信您是在问错问题(在这种情况下,请查看“开始”菜单>“启动”或“ msconfig”)。

但是,以防万一,您的意思确实是您的要求:

您要指的是哪种“程序”?

您是指其他操作系统吗?
看看GRUB / GRUB2 /其他引导加载程序

您是指DOS应用程序(即某种旧的库存/客户经理)吗?
您正在使用win9x吗?就“在Windows之前加载”而言,这是DOS应用程序有意义的唯一情况。
如果您不使用win9x,则可能要进行多重引导。

您是指Windows应用程序吗?(就像在图形用户空间应用程序中一样?)
简单的答案是否。(您可以将它与Windows一起启动,而不是在Windows之前。)

您是指自动启动位于后台的Windows Service /守护程序/某物吗?
当然; 只需将其设置为默认启动即可。即,如果已经将其定义为服务,请进入控制面板>管理工具>服务。
如果尚未定义,则可以添加它

您实际上是指在Windows之前运行的“程序”(即Windows XP / Vista / 7)吗?
您能否举一个需要这样做的例子?
除了引导加载程序之外,还包括磁盘加密软件或恢复环境(例如GRUB,truecrypt的引导加载程序或多种恢复软件中的任何一种)。


标题不是很具描述性,但问题中有一个例子。
MBraedley 2011年

我过去曾经使用过分区魔术师,但是可引导CD上的iirc。
DM8

分区魔术师可以完全安装(我之前已经做过)。完全安装完毕并在问题所涉及的分区表中进行更改的时候。在Windows完全加载并运行之前,计算机将重新启动并且Partition Magic可以正常运行。也有一些反恶意软件也可以做到这一点。
MBraedley 2011年

// @ MBraedley:同意,但是那是win9x时代的东西,今天仍然有效吗?(是的,我想知道,只是为了解决问题)...而且,当您要编辑启动驱动器/分区时,从cd介质启动pm8是一种更为简单的解决方案。就个人而言,过去几年来,我使用了带CD的liveCD来完成该任务。无论如何,我开始认为OP的问题可能与开发有关,这是超锯片所流行的,但我没有:)
DM8

1
如果您想知道,请按照我对问题的第一条评论中的超链接进行阅读。答案就在那里。(-:
JdeBP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.