赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

VB编程时如何检测A驱有无磁盘或磁盘写保护?

发布时间:2006.08.16 02:39     来源:plwww    作者:

在一些软件中,我们会发现,当软件运行到需要向A驱读写文件时,它会自动对A驱进行检测。如果用户没有按要求在A驱插入磁盘,程序会提示用户将磁盘插入到A驱中;如果需要向A驱进行写文件,而这时A驱里的磁盘“写保护”了,程序无法向其写文件,程序也会提示用户去掉磁盘的“写保护”。
这种智能化的提示功能能否在VB中实现呢?答案是肯定的!
用VB写过程序的人都应该知道,在VB中有一个非常有用的语句:ONERROR
其作用就是启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。
其语法:
On Error GoTo line
On Error Resume Next
On Error GoTo 0 On Error
语句的语法可以具有以下任何一种形式:

语句描述on Error GoTo line 启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。 On Error Resume Next说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用on Error GoTo。On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。

有了这个ONERROR语句,我们就可以在其启动的错误处理程序中对错误号进行检测,由此可以得知A驱是否有磁盘以及其磁盘是否写保护。
下面以一个简单的例子来说明在VB中用ONERROR语句来检测A驱是否有盘或其磁盘是否写保护。
在需要向A驱进行读写操作的模块头部写上下面这行代码:
On Error GoTo DiskErr
红色的DiskErr是错误处理程序的开始标识,你可以任意设定。接下来就写对A驱进行读写的程序代码,直到对所有需要处理的代码写完。在其最后加上下面这行代码:
Exit Sub
这行代码的作用是防止程序直接进入错误处理子程序。接下来写错误处理程序:
DiskErr:
Select Case Err.Number
Case 52, 71 'A驱无盘
If MsgBox("A驱没有磁盘!" & vbCrLf & "请在你的A驱插入软盘后再试!" & vbCrLf, vbOKCancel, "A驱错误!") = vbOK Then
Resume '返回到出错的语句重新处理
Else
On Error Resume Next '忽略错误
End If
Case 70 'A盘写保护
If MsgBox("请打开A盘写保护!", vbOKCancel, "A驱写入错误!") = vbOK Then
Resume
Else
On Error Resume Next
End If
Case Else MsgBox "错误号:" & Err.Number & vbCrLf & "错误内容:" & Error, , "错误"
End Select
如此以来,你的程序就有了本文开头所说的智能提示功能了。快快启动你的VB试试吧!在本人个主页《文渊主页》里有一个简单的测试原代码,你可以下载回去慢慢地研究。
如果此篇对你有所帮助,敬请你常来《文渊主页》做客!


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 关于Visual Basic 6.0类开发(上) (04-18) · 有关API字符串--API programmer请看之一 (07-15)
· 关于Visual Basic 6.0类开发(下) (07-24) · 用VB“破解”有时间限制的程序 (08-22)
· VB==这个玩笑有点酷 (06-15) · 有关API字符串--API programmer请看之二 (08-24)
· VB千里行-操作Word与Excel (09-13) · 屏幕抓字技术揭密 (04-09)
· VB==快速调用系统对话框(全) (10-10) · 如何学好VB (06-17)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管