找回密码
 加入
搜索
查看: 5364|回复: 8

[系统综合] 【已解决】U盘插入就复制数据问题

  [复制链接]
发表于 2010-11-6 00:46:53 | 显示全部楼层 |阅读模式
本帖最后由 touch_xu 于 2010-11-8 23:32 编辑

我想让程序实时监视U盘,如果有U盘插入就复制数据进去,下面的代码会不停的操作,但是如何只复制一次就结束,但下次再有U盘插入时依然有效呢,谢谢.
While 1
        UsbAutoCopy()
WEnd

Func UsbAutoCopy()
        $_UDisk = DriveGetDrive("REMOVABLE")
        If Not @error Then
                FileCopy("D:\VPT\*.txt", $_UDisk[$_UDisk[0]],8)
        EndIf
EndFunc   ;==>UsbAutoCopy

评分

参与人数 1金钱 +10 收起 理由
hzxymkb + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-6 10:40:41 | 显示全部楼层
这个是逻辑上的问题,我认为应该把监视U盘写在循环里面,然后还应该监视U盘退出。这样就可以通过一个变量来控制复制次数了。
只是讲一下自己的思路,代码楼主应该会写吧
发表于 2010-11-6 23:41:23 | 显示全部楼层
思路应该是,循环检测是否有U盘存在,有的话再检测U盘里有没有1.TXT,有的话继续循环,没有就复制进去·不知道对不对  0.0
发表于 2010-11-7 06:52:36 | 显示全部楼层
注册WM_DEVICECHANGE消息,直接通过消息获得硬件改变。

再判断消息是否是U盘传递过来的。
 楼主| 发表于 2010-11-8 23:31:31 | 显示全部楼层
自己解决了,分享一下代码,呵呵
Local $_UFlag = 0

While 1
        $_UDisk = DriveGetDrive("REMOVABLE")
        If Not @error Then

                If $_UFlag = 0 Then MsgBox(0, 0, "有U盘")
                $_UFlag = 1
        Else
                $_UFlag = 0
        EndIf
WEnd

评分

参与人数 1金钱 +10 收起 理由
hzxymkb + 10 谢谢分享!

查看全部评分

发表于 2011-2-20 09:18:30 | 显示全部楼层
支持楼主一下!
发表于 2013-3-20 20:15:27 | 显示全部楼层
学习了,楼主真厉害
发表于 2015-6-7 15:14:24 | 显示全部楼层
回复 1# touch_xu


    支持楼主一下!
发表于 2015-8-29 11:35:34 | 显示全部楼层
我也支持楼主一下!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 10:53 , Processed in 0.123807 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表