slenslen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-09-09
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望46点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
阅读:1505回复:7

请教一个简单的问题

楼主#
更多 发布于:2008-01-03 09:47
在Explorer启动前能否用FindFirstFile和FindNextFile浏览U盘上的文件?

请赐教

如果可以,有什么需要注意的地方?
slenslen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-09-09
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望46点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-01-03 09:49
关于U盘的东西我都已经添加,进入我的电脑后可以看到“硬盘2”
slenslen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-09-09
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望46点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-03 10:19
是这样的,我现在做一个自动更新的小程序,
当启动电脑前插上U盘,开机进入系统后先运行自动更新程序,
自动更新程序检测插入的U盘上是否有需要的程序,如果有就把它复制到CF卡中,
现在的问题就是我的自动更新程序检测不到U盘,只有进入我的电脑后才可以正常使用。

所以我想问一下在启动explorer前是否已经能够读写U盘上的文件。
slenslen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-09-09
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望46点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-03 14:26
CF卡肯定是存在的,因为系统在CF卡上存着呢,如果不存在,根本无法启动

但现在问题是当我的自动更新程序运行时,还检测不到U盘,我用的检测方法就是调用
FindFirstFile(_T("\\硬盘2\\*.*)),如果返回值不是INVALID_HANDLE_VALUE,
就说明U盘插上了,否则没有插上。

只有等程序运行一会以后(大约将近10秒钟),才能检测到U盘,我又不能在这里
耗费太长时间,因为后面还要运行主程序,别人不可能在这里白等10秒钟让你检测是否
插有U盘,是否要更新程序。

所以现在也没有办法了。

只好在主程序中加了一个线程,隔几秒检测一下是否插入了U盘,是否要更新程序。
这样也能实现。

但我还是很郁闷,因为上面自动更新程序的方法在以前试的是可以的,这一段不行了,
我怀疑是我重新裁剪了系统以后造成的,但又不知道错在哪儿了,真郁闷啊!
slenslen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-09-09
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望46点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-01-04 10:14
好的,谢谢,我试试吧
游客

返回顶部