找回密码
 加入
搜索
查看: 1811|回复: 6

请教如何实现把文件拖入au3的界面即可执行命令?

[复制链接]
发表于 2009-5-30 01:20:49 | 显示全部楼层 |阅读模式
本帖最后由 qddoit 于 2009-6-1 18:28 编辑


拖入界面即显示此文件大小等
发表于 2009-5-30 18:48:10 | 显示全部楼层
#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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-5-30 18:51:52 | 显示全部楼层
以上例子参考http://www.autoitx.com/forum.php ... omuid=1003#pid11267  pcshara的代码
只能执行单一文件的大小显示,你可以自行增加其功能,例如先判断拖入内容是目录还是文件,然后分别用DirGetSize 或 FileGetSize 计算大小,如果是拖入多文件,那么需要进行数值运算了。
 楼主| 发表于 2009-6-1 18:28:34 | 显示全部楼层


超级感谢~~~~~~
发表于 2009-7-14 00:38:26 | 显示全部楼层
收藏
学习学习
发表于 2011-3-12 20:18:49 | 显示全部楼层
学习了,非常有帮助。
发表于 2011-10-21 15:04:16 | 显示全部楼层
如何实现多次拖入 就是拖入一个 再拖入一个在第二行显示  如此多行显示多次拖入

或者一次拖入多个 也这样显示
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 12:12 , Processed in 0.085311 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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