我需要开发一个软件,在Windows启动之前运行。例如Acronis TrueImage或其他映像或分区操作软件允许启动到另一种环境,并且它们支持相当不错的图形界面。
我知道可以开发引导程序,但为其开发漂亮的用户界面将需要大量工作。另一种方法是NT本地应用程序,但它也不支持任何GUI类型,除了具有有限的颜色。有没有想过Acronis或类似解决方案是如何工作的?谢谢
我需要开发一个软件,在Windows启动之前运行。例如Acronis TrueImage或其他映像或分区操作软件允许启动到另一种环境,并且它们支持相当不错的图形界面。
我知道可以开发引导程序,但为其开发漂亮的用户界面将需要大量工作。另一种方法是NT本地应用程序,但它也不支持任何GUI类型,除了具有有限的颜色。有没有想过Acronis或类似解决方案是如何工作的?谢谢
Acronis实际上是从内存中运行的Linux环境启动。GUI由某个版本的XWindows提供,最有可能使用帧缓冲设备。他们使用的UI工具包是Fox Toolkit,至少在我上次检查时是这样。
当您退出它时,它会热启动计算机以重新启动回Windows。因此,它只是另一个引导选项,而不是预引导选项。您可以做同样的事情,但创建一个实时Linux系统并不容易。您也可以像上面有人建议的那样查看WinPE,但是这需要很多许可证。
听起来你需要的是一个引导程序。
如何开发自己的引导程序:http://www.codeproject.com/Articles/36907/How-to-develop-your-own-Boot-Loader
首先,如果你正在编写一个在操作系统启动之前运行的程序,那么你没有操作系统。所以忘记像“NT本地应用程序”这样的东西。
编写这样的程序非常类似于为DOS编写程序。DOS没有提供任何图形、窗口、鼠标输入或其他任何服务(除了磁盘访问)。你过去必须自己做所有这些事情(这就是为什么DOS的图形程序总是看起来有点不同)。有一些工具包可以帮助构建图形界面,但我不知道今天是否还有这些工具包存在。
即使在今天,自己做所有的图形界面仍然是很多工作。可能会有一两个供应商为这样的应用程序提供GUI工具包,但这种东西将会非常罕见。只有像分区编辑器和RAID控制器这样的程序今天才真正需要它。