vb 通过winio.dll读取cmos信息

ye12 2009-06-12 09:48:53
vb 通过winio.dll读取cmos信息


为什么用以下语句,读不出来数据
Dim data As Long
Dim i As Long
For i = 16 To 45
SetPortVal "&H70", "&H" & Hex(i), 1
Sleep (1)
Print GetPortVal("&H71", data, 4)

Print i, data
data = 0
Next
结果读出来的data都是为0
...全文
196 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ye12 2009-06-15
  • 打赏
  • 举报
回复
谢谢simon__sun的帮助
ye12 2009-06-15
  • 打赏
  • 举报
回复
呵呵,谢谢,不用sleep就可以读取数据了,我也读出来了,怎么用了sleep反而没有数据了呢
ye12 2009-06-14
  • 打赏
  • 举报
回复
simon__sun你好,我按你这样,也是读不出来数据
simon__sun 2009-06-14
  • 打赏
  • 举报
回复
不用sleep的时候
True
16 268435456
True
17 300937199
True
18 301989888
True
19 321398824
True
20 335741699
True
21 360743040
True
22 369230338
True
23 385875968
True
24 419233020
True
25 419430400
True
26 436207616
True
27 457458756
True
28 482394304
True
29 495158147
True
30 511869570
True
31 520356868
True
32 552661232
True
33 554635023
True
34 574372924
True
35 596018822
True
36 617664720
True
37 629112703
True
38 637600001
True
39 654311424
True
40 671088640
True
41 687865856
True
42 715169952
True
43 721420288
True
44 740302880
True
45 755764236

simon__sun 2009-06-14
  • 打赏
  • 举报
回复
用deubg.print 出来的
True
16 201326592
True
17 201326592
True
18 201326592
True
19 201326592
True
20 201326592
True
21 201326592
True
22 201326592
True
23 201326592
True
24 201326592
True
25 201326592
True
26 201326592
True
27 201326592
True
28 201326592
True
29 201326592
True
30 201326592
True
31 201326592
True
32 201326592
True
33 201326592
ye12 2009-06-14
  • 打赏
  • 举报
回复
simon__sun你好,加载成功的,你读了的数据是什么样的呢
simon__sun 2009-06-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ye12 的回复:]
simon__sun你好,我按你这样,也是读不出来数据

[/Quote]

窗体装载时驱动加载成功了吗?加载时要是你电脑上有杀毒软件或防火墙报警你要点允许才可以有的!~

我电脑上测过OK的
simon__sun 2009-06-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ye12 的回复:]
simon__sun你好,我按你这样,也是读不出来数据

[/Quote]

窗体装载时驱动加载成功了吗?加载时要是你电脑上有杀毒软件或防火墙报警你要点允许才可以有的!~

我电脑上测过OK的
simon__sun 2009-06-13
  • 打赏
  • 举报
回复
帮你测了一下,你的问题应该是没有初始化winio驱动

Private Sub Command1_Click()

Dim data As Long
Dim i As Long
For i = 16 To 45
SetPortVal "&H70", "&H" & Hex(i), 1
Sleep (1)
Print GetPortVal("&H71", data, 4)

Print i, data
data = 0
Next

End Sub
Private Sub Form_Load()
If InitializeWinIo = False Then
MsgBox "Whoops ! There is a problem with InitializeWinIo.", vbOKOnly + vbCritical, "TEST"
Unload me
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call ShutdownWinIo
End Sub
ye12 2009-06-12
  • 打赏
  • 举报
回复
http://www.internals.com/,winio.dll源码下载,里面包括vb例子,有时间你给看看
simon__sun 2009-06-12
  • 打赏
  • 举报
回复
路过,没有winio.dll 要不可以帮你测一下,可能是声明有问题
东方之珠 2009-06-12
  • 打赏
  • 举报
回复
在Windows XP or 2000下直接访问端口,读写CMOS,破解BIOS密码:
http://download.csdn.net/source/1037183
东方之珠 2009-06-12
  • 打赏
  • 举报
回复
http://www.chinaitpower.com/A/2001-10-28/3142.html

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧