Automation 如何在Windows上实现两个文件资源管理器之间的自动拖放

Automation 如何在Windows上实现两个文件资源管理器之间的自动拖放,automation,drag-and-drop,robotframework,autoit,Automation,Drag And Drop,Robotframework,Autoit,我正在尝试在windows操作系统上的两个文件浏览器之间自动拖放。我可以在网上找到有关拖放浏览器实现的帮助。 但将文件拖放到另一个文件资源管理器没有帮助。使用Shell.Application对象。要从资源管理器中获取选择,可以使用以下功能: ;=============================================================================== ; Function Name....: _ActiveExplorer_GetSelecte

我正在尝试在windows操作系统上的两个文件浏览器之间自动拖放。我可以在网上找到有关拖放浏览器实现的帮助。
但将文件拖放到另一个文件资源管理器没有帮助。

使用Shell.Application对象。要从资源管理器中获取选择,可以使用以下功能:

;===============================================================================
; Function Name....: _ActiveExplorer_GetSelected
; Description......: Creates an array with
;                    - Count of selected files/folder
;                    - Path of active Explorer window and
;                    - the path/es of selected file/s /folder
; Requirement(s)...: Opened Explorer window
; Return Value(s)..: Array with data, $a[0] = Count, $a[1] = Folderpath, $a[2..] = File/Foldername
; .................: ATTENTION! Last index $a[0]+1 !!
; Author(s)........: BugFix ( AutoIt@bug-fix.info )
;===============================================================================
Func _ActiveExplorer_GetSelected()
    Local $oShell = ObjCreate("Shell.Application")
    Local $oExplorer, $sPath, $oFolderView, $iCount = 0, $sSelectedFiles = '', $n = 2
    Local $oShellWindows = $oShell.Windows
    For $i = 0 To $oShellWindows.Count -1
        $oExplorer = $oShellWindows($i)
        $sPath = StringReplace(StringReplace(StringTrimLeft($oExplorer.LocationURL, 8), '%20', ' '), '/', '\')
        If WinGetTitle('[ACTIVE]') = $sPath Then ExitLoop
    Next
    $oFolderView = $oExplorer.Document.SelectedItems()
    $iCount = $oFolderView.Count
    Local $aOut[$iCount +2]
    $aOut[0] = $iCount
    $aOut[1] = $sPath
    If $iCount = 0 Then
        Return ''
    Else
        For $oFolderItem In $oFolderView
            $aOut[$n] = $oFolderItem.Name
            $n += 1
        Next
        Return $aOut
    EndIf
EndFunc  ; ==>_ActiveExplorer_GetSelected

请在
Autoit
@Goralight上查看我的答案。使用Autoit,我无法实现拖放。您的解决方案来自浏览器。文件资源管理器可以做什么?您看过
鼠标下压
鼠标移动
鼠标下压
了吗?但不管怎样,这都是为浏览器/网络设计的。但我不认为这会阻止你使用文件浏览器到文件浏览器,因为AutoIt无论如何都会与桌面对话。。。你们试过什么吗?实际上我们可以在静态环境下做。对于ex,如果要从源文件夹中拖动文件,则需要使用鼠标拖动来指定x和y坐标。但是这个x和y坐标很可能在动态环境中发生变化好的..谢谢@McBarby我会试试看。让你知道