请教如何实现把文件拖入au3的界面即可执行命令?
本帖最后由 qddoit 于 2009-6-1 18:28 编辑例
拖入界面即显示此文件大小等 #include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("文件拖放执行命令", 262, 86, -1, -1,-1,$WS_EX_ACCEPTFILES)
$Combo1 = GUICtrlCreateCombo("", 8, 8, 241, 25)
$dropzone = GUICtrlCreateLabel("", 8,8, 241, 25)
GUICtrlSetBkColor($dropzone, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState($dropzone, $GUI_DISABLE)
GUICtrlSetState($dropzone, $GUI_DROPACCEPTED)
$Edit1 = GUICtrlCreateEdit("", 8, 48, 241, 57, BitOR($ES_READONLY,$ES_WANTRETURN), 0)
GUICtrlSetData(-1, "请拖放文件到上面combo")
GUISetOnEvent($GUI_EVENT_DROPPED, "GUI_Drop")
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI_Exit")
GUISetState(@SW_SHOW)
While 1
Sleep(100)
WEnd
Func GUI_Exit()
Exit
EndFunc
func GUI_Drop()
$file=@GUI_DragFile&"|"
GUICtrlSetData($Combo1, $file,@GUI_DragFile)
$filesize=FileGetSize (GUICtrlread($Combo1))
GUICtrlSetData($Edit1,'文件大小:'&$filesize/1048576&' m')
EndFunc
以上例子参考http://www.autoitx.com/forum.php?mod=viewthread&tid=1191&page=1&fromuid=1003#pid11267pcshara的代码
只能执行单一文件的大小显示,你可以自行增加其功能,例如先判断拖入内容是目录还是文件,然后分别用DirGetSize 或 FileGetSize 计算大小,如果是拖入多文件,那么需要进行数值运算了。 :face (26):
超级感谢~~~~~~ 收藏
学习学习 学习了,非常有帮助。 如何实现多次拖入 就是拖入一个 再拖入一个在第二行显示如此多行显示多次拖入
或者一次拖入多个 也这样显示
页:
[1]