Я пытаюсь автоматизировать перетаскивание между двумя файловыми программами на ОС Windows. Я могу найти интерактивную справку для перетаскивания для браузеров. Но никакой помощи для перетаскивания для файла в другой проводник.Как реализовать автоматизацию для перетаскивания между двумя файловыми проводниками в Windows
0
A
ответ
0
Используйте для этого объект 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 ([email protected])
;===============================================================================
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
+0
Хорошо. Спасибо @McBarby. И дайте знать –
Пожалуйста, смотрите мой ответ на 'Autoit' http://stackoverflow.com/questions/41035353/how-to-handle-windows-authentication- popup-in-robot-framework-ride/41035644 # 41035644 – Goralight
@Goralight Использование autoit Im не в состоянии реализовать перетаскивание. И ваше решение - из браузера. что можно сделать для File Explorer? –
Вы посмотрели «Мышь вниз», «Мышь Move» и «Mouse Down»? Но в любом случае это сделано для браузера/веб-материала. Но я не думаю, что это остановит вас с файловым браузером в File Browser, поскольку AutoIt будет разговаривать на рабочем столе в любом случае ... Вы пробовали что-нибудь или? – Goralight