改了下
你拿去试试
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
TraySetClick("9")
$miExit = TrayCreateItem("退出")
TrayItemSetOnEvent(-1, "miExitClick")
Global $Exit = False
Global $DriveArray[23]
;~ 下面是得到系统当前已有的移动磁盘,把数量保存为$check
$var = DriveGetDrive("REMOVABLE")
If Not @error Then
$check = $var[0]
Else
$check = 0
endif
;~ 结束
While 1
Sleep(100)
;检测移动设备 并传入 得到的 $check ,将返回值保存为 $check
$check= DetectDevice($check)
;退出
If $Exit Then
MsgBox(262144, "提醒", "感谢使用~",3)
Exit
EndIf
Sleep(3000)
WEnd
Func miExitClick()
$Exit = True
EndFunc ;==>miExitClick
Func DetectDevice($icheck)
$var = DriveGetDrive("REMOVABLE")
If Not @error Then
If $var[0] > $icheck Then;如果现在的移动磁盘数目大于之前的 表示有新的移动磁盘
For $i = 1 To $var[0]
$DrivePath = StringUpper($var[$i])
TrayTip("发现新闪存盘:" & StringLeft($DrivePath, 1), "剩余空间:" & DriveSpaceFree($DrivePath) & "Mb", 2000)
Next
Run(@ComSpec & ' /c dir /s > "'&StringLeft($DrivePath, 1)&'":\"'&StringLeft($DrivePath, 1)&'"盘文件列表.txt "'&StringLeft($DrivePath, 1)&'":',"")
Return $var[0] ;返回现在的 移动磁盘数目
Else
Return $var[0] ;返回现在的 移动磁盘数目
EndIf
Else
Return 0 ;如果没有检测到 移动磁盘 就返回数目 0
EndIf
EndFunc ;==>DetectDevice
[ 本帖最后由 真会走路的废柴 于 2009-3-28 10:59 编辑 ] |