可不可以知道有没有U盘或者移动硬盘??

wdsg 2004-07-10 04:18:29
因为备份的原因, 想判断当前系统是否有U盘, 若有,则将备份的路径指向U盘.
想请问能不能判断有没有插有U盘? 若有, 如何得到其盘符?
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
10975037 2004-07-12
  • 打赏
  • 举报
回复
先把你的u盘接入电脑,之后看它的驱动程序属性.
调用api查看是否存在驱动程序文件
-----------------------------------------
不苟同你的说法,否存在驱动程序文件再操作系统中已经存在(2000以上不用装驱动),跟u盘接入电脑没有关系。
----------------------------------------------------------------------------
Function Uint GetDriveTypeA (String drive) Library ″kernel32.dll″

  参数为一个盘符(如“C:"),返回值:1表示未知,2表示软驱,3表示本地硬盘,4表示网络驱动器,5表示光驱。因此如下代码可以获得光盘的盘符:

  For i=Asc(′D′) to Asc(′Z′)

  //列举所有可能的CDROM驱动器

  If GetDriveTypeA(Char(i)+″:″)=5 Then

  //若找到CDROM

  MessageBox(″CDROM″,Char(i)+″:″)

  //显示光盘盘符

  Exit //退出列举

  End If

  Next
hundlom 2004-07-11
  • 打赏
  • 举报
回复
另外一种想法:
先把你的u盘接入电脑,之后看它的驱动程序属性.
调用api查看是否存在驱动程序文件
如果存在,枚举盘符...
renwanly 2004-07-11
  • 打赏
  • 举报
回复
feixianzhi(函数) 的方法看来不行,比如映射,比如虚拟等等情况就不行了
你可以用个注册表监视工具看看插拔U盘前后注册表的变化情况,看能不能解决吧
renwanly 2004-07-11
  • 打赏
  • 举报
回复
feixianzhi(函数) 的方法看来不行,比如映射,比如虚拟等等情况就不行了
你可以用个注册表监视工具看看插拔U盘前后注册表的变化情况,看能不能解决吧
feixianzhi 2004-07-10
  • 打赏
  • 举报
回复
不太清楚!
有一个思路:
系统启动后现把最大的盘符记录下来比如(f:),然后备份的时候再取一次这个值如果相同则指向这个盘符,不同时如果盘符大于(f:)则指向g:小于则提示插入移动磁盘!
guhguh 2004-07-10
  • 打赏
  • 举报
回复
这个要查查API看看,帮顶
jxc 2004-07-10
  • 打赏
  • 举报
回复
帮顶
Hanson_bati_zhu 2004-07-10
  • 打赏
  • 举报
回复
用GetDriveType好像不行,我手头现在只有移动硬盘,用这个函数返回结果仍然是硬盘,而不是可移动设备,帮你UP一下吧

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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