[已解决]怎样获取到多个U盘盘符?帮忙修改下代码
本帖最后由 515276542 于 2011-5-19 08:39 编辑怎样获取到多个U盘盘符?
现在插着两个U盘也只能获取到一个U盘的盘符,帮忙修改下代码
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 294, 187, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 265, 113)
GUICtrlSetBkColor($Edit1,0xFFFFFF)
GUICtrlSetState($Edit1, $GUI_DISABLE)
GUICtrlSetData(-1, "")
$Button1 = GUICtrlCreateButton("获取U盘", 152, 152, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
move()
EndSwitch
WEnd
Func move()
$zi = "已连接的设备盘符为 ==>"
$drive = DriveGetDrive( "REMOVABLE" );获取一个含有指定驱动器盘符, "REMOVABLE(可移动驱动器)"
If Not @error Then
For $i = 1 to $drive
$daxie = StringUpper($drive[$i]);将小写盘符转换大写
GUICtrlSetData ( $Edit1,$zi & $daxie);修改指定控件的数据,$Edit2是那个输入框
;~ MsgBox(64,"发现设备","已连接的设备盘符为" & $daxie,"",$Form1);显示一个简单的对话框
Next
Else
MsgBox(16,"警告!","未发现有U盘。","",$Form1);显示一个简单的对话框
EndIf
EndFunc
第31行改为:_GUICtrlEdit_AppendText($Edit1,@crlf&$zi&$daxie) {:face (249):}标记下。。。。。。。。。。。 回复 2# 3mile
能不能只显示一次26行那个提示啊? 回复3mile
能不能只显示一次26行那个提示啊?
515276542 发表于 2011-5-17 15:49 http://www.autoitx.com/images/common/back.gif
完全听不懂你说的一次26行是什么意思.请解释 本帖最后由 515276542 于 2011-5-18 17:02 编辑
回复 5# 3mile
就是说现在改了之后在GUICtrlCreateEdit的控件里显示
“
已连接的设备盘符为 ==>H:
已连接的设备盘符为 ==>I:
”
能不能改成
“
已连接的设备盘符为 ==>H: I:
” 回复 6# 515276542
变通下即可:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 294, 187, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 265, 113)
GUICtrlSetBkColor($Edit1, 0xFFFFFF)
GUICtrlSetState($Edit1, $GUI_DISABLE)
GUICtrlSetData(-1, "")
$Button1 = GUICtrlCreateButton("获取U盘", 152, 152, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
move()
EndSwitch
WEnd
Func move()
$zi = "已连接的设备盘符为 ==>"
$drive = DriveGetDrive("REMOVABLE");获取一个含有指定驱动器盘符, "REMOVABLE(可移动驱动器)"
If Not @error Then
Local $daxie = ""
For $i = 1 To $drive
$daxie &= StringUpper($drive[$i]) & Chr(32);将小写盘符转换大写
Next
GUICtrlSetData($Edit1, $zi & $daxie);修改指定控件的数据,$Edit2是那个输入框
Else
MsgBox(16, "警告!", "未发现有U盘。", "", $Form1);显示一个简单的对话框
EndIf
EndFunc ;==>move
回复 7# 3mile
谢谢啦{:face (239):} 代码收下了! 很好用的代码 好用的代码{:face (427):} 好用的代码 代码收下了,记下。
页:
[1]