Então, em Windows , você deseja alguma automação. . .
- Detectar quando uma janela específica é gerada
- Tornar uma janela específica detectada ativa
- Insira um caminho de arquivo completo em um campo específico dentro de uma janela específica com o nome do arquivo menos a extensão desse caminho sendo a atual
Considere usar o aplicativo gratuito AutoIT e algumas funções e métodos de chamada em loop para isso.
AutoIT Logic
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 campo Salvar como da janela Baixar informações do arquivo salvará arquivos.
Este método define uma Local
variável dentro do função definida pelo usuário identificada como IDM_DFI()
e copia a atual o valor da área de transferência como seu valor, então é assumido aqui que você provavelmente terá algo que copie um valor exclusivo para a área de transferência antes que a janela Baixar Informações do Arquivo seja iniciada .
Este processo selecionará e excluirá tudo do campo Salvar como , substituindo-o pelos valores de $SavePath
, $Clip
e $SaveExt
concatenados nessa ordem, tornando-se a sequência para o caminho de arquivo completo e nome de arquivo do arquivo baixado salvo e, em seguida, pressione Iniciar Download .
Esse processo começa com uma chamada de função CheckWin()
definida pelo usuário e, dentro dela, o WinWait a função é usada para esperar que uma janela apareça que tenha um título que corresponda ao valor do $WinTitle
Global
variable . Quando ele detecta essa janela, ele executará os processos mencionados anteriormente e, em seguida, chamará a função CheckWin()
novamente e aguardará a geração de outra janela $WinTitle
.
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 depois passá-los para o executável depois de compilado para o Título da janela , Caminho completo da pasta Salvar como , e o Salvar como extensão de arquivo que você deseja processar (por exemplo, IDM_DFI.exe "Download File Info" "F:\German lge\Audio database\" ".mp3"
).
Mais recursos
- Variáveis - usando Global, Local, Estático e ByRef
- Func
- WinWait
- ClipGet
- WinActivate
- Sono
- ControlSend
- ControlClick