VB怎么编写一个能作为主板第一启动的程序?【VB2010、6.0皆可】

就像ISO系统一样,主板会自动按启动顺序识别这些文件,我想要做的就是让我写的一个程序能被主板识别【压缩成ISO以后】并启动,要怎么做。我最不懂的是,能被主板识别的程序【如Ghost】都具备什么条件?EXE肯定是不行的。【希望不需要汇编,仅VB就最好不过了。】
我刚入门VB,仅会一些小程序和简单的数据库,希望代码不要写得太复杂,最好能发一个示例的工程文件。
注意:这个不是说开机自启动,而是做一个可作为主板启动的程序,不是windows运行。

这种程序最主要的特点,就是对操作系统(包括Windows、Linux、DOS等)的依赖性为0(因为这个时候操作系统尚未启动),所有输入输出、计算等操作都必须在程序内部完成,不能调用任何外部程序。因此,包括VB在内的任何高级语言都是无法胜任的,因为它们编译的程序肯定都需要操作系统支持才能运行的,只有汇编语言才行!而且汇编语言中也不能调用任何诸如Windows的API函数、DOS的中断等,这就意味着,你的程序与硬件之间的任何互动操作都必须由你的程序自己来完成了,比如说要在屏幕上显示一个字符,你的程序就要通过直接操作显示内存来实现,如果是汉字,你还必须自己到字库(要自带)中读取这个字的点阵信息哦!

补充:你所谓的主板识别的说法是错误的,主板的BIOS在自检完毕后会自动调用处于第一引导顺序的硬盘(你也可以在BIOS中改为U盘、移动硬盘、光盘、软驱等)的主引导记录(MBR)的第一个字节开始的程序(换句话说这种行为并不属于“智能识别”,说“转移控制权”更贴切),然后这个程序会再次调用操作系统的主启动文件,最终加载整个操作系统。因此,可以这么说,当主板BIOS把控制权转交给硬盘主引导扇区后,再往后的启动过程就跟主板没有直接关系了,主板也绝不可能识别诸如Ghost之类的程序。另外,要想实现你的目的,除了用汇编编写程序,还要修改主引导记录,使得主引导记录会自动调用你的程序。你的程序运行完毕后,根据需要可以把控制权转移给操作系统的主引导文件(这样的话你的程序运行完毕操作系统就会继续启动),也可以先把主引导记录还原再重启(这样的话重启后系统就会恢复正常了,其实Ghost就是这么干的)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-02
VB肯定是不行的 还需要运行库的支持 因此注定只能被windows系统接受 如果你想在启动系统前引导系统用 只有另外找编程工具了
第2个回答  2014-10-02
洗洗睡吧 裸机程序 汝等 只会点vb的渣渣 是玩不起滴
汇编和C是必须要会滴、硬盘物理结构扇区读写神马、cpu中断神马
xxx ghost 神马也就是 grub4dos 抄来主义 接驳上他们自己搞的可引导img软件镜像(ylmf onkey 、dos之家、矮人、maxdos 他们都是这么干滴,没grub他么都歇菜)..........

你闲的蛋疼 可以 去研究grub的源代码 或者 看看“自己动手写操作系统”一书本回答被网友采纳

vb2010 怎么设置一个按钮是程序运行时点击他能够打开本地计算器,最好...
ByVal eventArgs As System.EventArgs) Handles Button1.Click Dim RetVal As String RetVal = Shell("C:\\WINDOWS\\system32\\CALC.EXE", 1) ' 完成Calculator

是继续用VB6.0开发,还是改用VB2010开发?
随便,用VB6.0开发更适合快速开发 急用的小程序 毕竟已经比较熟练了。也可以在学习VB2010一段时间后决定选择哪个为主要的开发工具,VB6优势是不需要安装.net框架。

VB2010窗口背景镂空……(VB6.0的代码参考。)
方法如下:先使用CreateRectRgn创建矩形Rgn或使用CreatePolygonRgn创建多边形Rgn 然后使用CombineRgn合并多个Rgn为一个Rgn 最后使用SetWindowRgn设置窗口Rgn.比如下面代码就是把窗口变成一个椭圆形状 Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 ...

...VISUAL BASIC 2010软件编程。 紧急求教该怎么编?谢谢
迭代三次,加三次1就可以了。但1111接下来是0000,也就是说这两个二进制数不能大于15。如出现大于十五的情况应减十五。先来一个Textbox(假定为Textbox1)和一个Button(假定为Button1),定义如下五个变量:a,b,i,j为整数,Tempstr为字符串。然后双击按钮,在按钮中的Click事件下写如下代码:1.读取...

做工控,上位机。需要学vb,是学vb2010还是vb6.0好了。刚想学,听说这俩...
VB只是一种编程工具罢了,做工控上位机软件,VB、VC、delphi、 LabVIEW等工具只要你精通就行。入VB门简单,工作效率高,但很难做大项目,做做小工具还是可以的。另外,工控里面还有一下组态软件,在这个比较常见,WinCC、力控、昆仑通态等,功能模块化、你可以了解一下,这些一般大型国企那些人会用到。...

请问下,vb6.0和vb2005那个好?
VB200X 系列的版本就不用了,直接调用form1.Opacity就可以了,在数据库方面,VB200X 系列基本上拖拽就可以实现各种数据库的操作,方便至极(当然,VB6也可以写出来,但是没有那么方便)再比如界面方面,VB200X的界面也比6.0的好看的多……PS:如果想做个好的程序员,VB6.0一定要学好,其他版本的要...

用VB2010编写一个简单计算器
方法\/步骤 打开VB新建一个EXE。如图画上4个按钮控件表示加减乘除,再画上3个文本控件表示两个数与和数,再画一个标签控件加入“=”号。当然,界面可以自己发挥。画好之后,就可以把控件进行命名,注意是属性栏的Caption项命名,以便运行的时候方便识别。好的,现在可以进行最重要的代码编写啦。双击对应...

在VS2010的vb里打开VB6的工程文件的方法
VB6.0与VS2010根本不是一个编译环境。VB6.0的工程不能直接用VS2010打开,只有参照他画界面,然后对应事件拷贝代码。拷贝过去的代码也只能保证60%的相似率,你还要修改这些代码,因为VB.NET与VB并不是一种语言,存在相似之处是因为VB运行库的要求,在语法上其实是两种完全不同的语言。

VB2010VB的特点
VB2010是一款采用面向对象设计理念的编程语言,其核心思想是通过将复杂问题分解为简单对象集合,如窗体、按钮、标签和文本框等,进行高效编程。这些对象具有独立的功能,程序员可以直接在界面上设计出各种窗口、菜单和按钮,为每个对象设定属性,实现用户界面的自定义。VB2010以事件驱动的方式运行,每个对象都能...

请问如何在vs2010中用vb创建一个excel文件?
VS 软件太大,我没有安装 ,VB6中是可以的,供参考Dim objExcel As Excel.ApplicationDim objWorkBook As Excel.WorkbookSet objExcel = CreateObject("Excel.Application")Set objWorkBook = objExcel.Workbooks.Add()objExcel.Visible = False Dim objSheet As Excel.WorksheetSet objSheet = objExcel.Worksheets(...

相似回答