
Farei a seguinte tarefa literalmente milhares de vezes nos próximos dias. Faz parte de uma série de tarefas subjetivas e que não podem ser automatizadas, mas essa pode, acho a mais cansativa.
Posso automatizar o seguinte e como:
- Sempre que a janela pop-up 'Download file info' do IDM aparecer, altere o texto entre o formato de texto (.mp3) e a primeira barra à direita com o texto da área de transferência (veja a imagem). Obrigado.
Responder1
Brevejanelasvocê deseja alguma automação. . .
- Detectar quando uma janela específica é gerada
- Tornar ativa uma janela específica detectada
- Insira um caminho completo de arquivo em um campo específico dentro de uma janela específica com o nome do arquivo menos a extensão desse caminho sendo o atualárea de transferênciavalor copiado
Considere usar o gratuitoAutoITaplicação e algumas funções e métodos de chamada de loop para isso.
Lógica AutoIT
Este método requer a configuração de duas variáveis: o caminho completo do arquivo como $SavePath
e a extensão do arquivo como $SaveExt
onde o Salvar comocampo doBaixar informações do arquivojanela salvará os arquivos.
Este método define umLocal
variáveldentro dofunção definida pelo usuáriorotulado IDM_DFI()
e copia o atualárea de transferênciavalor como seu valor, portanto, presume-se aqui que você provavelmente terá algo que copia um valor exclusivo para a área de transferência antes doBaixar informações do arquivojanela é lançada.
Este processo selecionará e excluirá tudo doSalvar comocampo, substitua-o pelos valores das variáveis $SavePath
, $Clip
, e $SaveExt
concatenados nessa ordem, tornando-se a string para o caminho completo do arquivo e o nome do arquivo doarquivo baixado salvoe, em seguida, pressioneIniciar download.
Este processo começa com uma CheckWin()
chamada de função definida pelo usuário e dentro dela oWinWaitfunção é usada para aguardar a geração de uma janela que tenha um título correspondente ao valor do$WinTitle
Global
variável. Ao detectar esta janela ele realizará os processos mencionados acima e então chamará a CheckWin()
função novamente e aguardará o $WinTitle
surgimento de outra janela.
Global $WinTitle = "Download File Info"
Global $SavePath = "F:\German lge\Audio database\"
Global $SaveExt = ".mp3"
CheckWin()
Func CheckWin()
WinWait($WinTitle)
IDM_DFI()
EndFunc
Func IDM_DFI()
Local $Clip = ClipGet()
WinActivate($WinTitle)
Sleep(200)
ControlSend($WinTitle, "", "[CLASSNN:Edit3]", "^a{DELETE}"&$SavePath&$Clip&$SaveExt) ; "^a" --> CTRL+a to select all
Sleep(200)
ControlClick($WinTitle, "", "[CLASSNN:Button1]", "left")
Sleep(500)
CheckWin()
EndFunc
É possível tornar essa lógica mais dinâmica para aceitar três parâmetros de entrada e então você pode passá-los para o executável assim que ele for compilado para oTítulo da janela,Caminho completo para salvar como pasta, e aSalvar como extensão de arquivo que você deseja processar (por exemplo IDM_DFI.exe "Download File Info" "F:\German lge\Audio database\" ".mp3"
).