我想如果我们该Windows的时间,那么BIOS也会跟着改,那应该有办法能通过代码控制或通知BIOS更改设置。或者有大神能说一下BIOS的工作原理吗?还有我上面说的例子,Windows是怎么实现更改BIOS的时间的?

解决方案 »

  1.   

    前些日子我也研究过关于BIOS的东西,不过没有什么结果。这东西用VB来做有些不便。
    不过,BIOS的内容是可以通过设置映射到内存中的。然后通过读地址可以完成读写BIOS的内容
      

  2.   

    也不一定用VB做,只是想了解一下BIOS的工作原理,想知道Windows是怎么改掉BIOS的时间的。当然,我也想知道,我们用代码到底能不能改其他的设置,例如~~,自动开机
      

  3.   

    你百度一下 BIOS 内存映射
      

  4.   

    LZ说的应该说CMOS参数,(BIOS是指保存于ROM中,用于引导开机,并提供最基本的硬件操作的程序,比如硬盘的最底层的输入输出(windows似乎不使用它,使用自己的代码实现),键盘扫描,数据显示等等,BIOS中的功能程序一般使用软中断进行调用(int0-int15),win系统不允许直接调用中断,所以windows编程很少使用。)COM实际上是一个外设,有端口地址,dos年代曾经写过一个读取CMOS密码的程序,主要就是读写端口(年代久远,资料已经丢失,可惜,呵呵)
      

  5.   

    5L的:COM实际上是一个外设 应该是:CMOS实际上是一个外设......
      

  6.   

    楼上的,WinIO.sys这个怎么用啊?虽然说sys的文件好像实际是DLL,可是能说得明白一点吗??谢谢了~
      

  7.   

    还有个坑爹的问题是,我在Win7的系统里找不到这个文件啊。我已经在文件选项里取消了“隐藏受保护的系统文件”项了,依然没有~
      

  8.   

    也没有找到WinIO.dll,不过我找到了IO.sys,在C盘根目录下,不过属性那里显示是0字节~,麻烦各位大神,要说句详细一点好吗?别让我每回复一句,你们就告诉我一点,这样不好玩啊~~~,拜托了~~
      

  9.   

    好像是个端口的读取程序,能再详细说一下用这个操作BIOS的原理吗?现在没有一点头绪啊~~
      

  10.   

    内嵌汇编 或直接改用VC内嵌汇编 调用BIOS中断 修改
      

  11.   

    必须用驱动;
    由驱动在系统底层对bios进行修改;如果用vb写的话基本上只能写写界面的代码
      

  12.   

    先别管是不是用VB写了。按我的理解,是不是用VC+汇编到内存之中直接去改BIOS。我不太理解“中断”是什么意思,能说说吗?
      

  13.   

    中断就相当于window里面的api,他有调用方法,类似fastcall 的调用形式,调用中断完成一些特别的操作,一般就是硬件操作不是到内存中去改什么bios,而是要用驱动,调用中断对bios进行修改;要用驱动的原因是权限问题,这个权限并非是普通的权限而是直接针对cpu的,cpu对代码的执行权限,ring3,ring0 ,去搜搜资料就知道了
      

  14.   

    我到真有段读取主板信息的程序,是VC的,我VC水平有限,不甚理解,也没有去多研究。
      

  15.   

    winio.sys和io.sys这样的dos启动文件是两回事.winio.sys就是驱动程序,按dll使用方法使用就是了,他完成了vb做不了的一些事情.COMS好像端口是80H,81H,
    读取COMS地址1的数据,就写80H端口1H,然后读取81H端口.
    写CMOS地址1的数据,就写80H端口1H,然后写数据到81H端口.
      

  16.   

    有?虽然我VC基本上说是不会,不过也没关系,先积攒着,能发来吗?邮箱:[email protected]。谢谢。