touch_xu 发表于 2010-11-6 00:46:53

【已解决】U盘插入就复制数据问题

本帖最后由 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],8)
        EndIf
EndFunc   ;==>UsbAutoCopy

tpj633 发表于 2010-11-6 10:40:41

这个是逻辑上的问题,我认为应该把监视U盘写在循环里面,然后还应该监视U盘退出。这样就可以通过一个变量来控制复制次数了。
只是讲一下自己的思路,代码楼主应该会写吧

t87564833 发表于 2010-11-6 23:41:23

思路应该是,循环检测是否有U盘存在,有的话再检测U盘里有没有1.TXT,有的话继续循环,没有就复制进去·不知道对不对0.0

republican 发表于 2010-11-7 06:52:36

注册WM_DEVICECHANGE消息,直接通过消息获得硬件改变。

再判断消息是否是U盘传递过来的。

touch_xu 发表于 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

syhw222 发表于 2011-2-20 09:18:30

支持楼主一下!

mindy_xie 发表于 2013-3-20 20:15:27

学习了,楼主真厉害

sh1536 发表于 2015-6-7 15:14:24

回复 1# touch_xu


    支持楼主一下!

jianganew 发表于 2015-8-29 11:35:34

我也支持楼主一下!
页: [1]
查看完整版本: 【已解决】U盘插入就复制数据问题