Jump to content

mutleey

AutoIt MVPs (MVP)
  • Content count

    344
  • Joined

  • Last visited

  • Days Won

    37

Everything posted by mutleey

  1. AutoIt & porta paralela

    Controle da porta paralela 12 pinos PP-CONTROL
  2. depois do -RD ou -L segundo a mensagem que aparece você precisa indicar o arquivo "log" ex: UsbDriveInfo.exe -L:resultado.txt UsbDriveInfo.exe -RD:log.log
  3. Script adicionar character

    ; mutleey ; 14/07/2018 Local $chars[6] SplashTextOn("msg", "...", 200, 50, -1, -1, 1, "", 16) For $ii = 0 To 5 For $jj = 97 To 122 ; a~z $chars[$ii] = Chr($jj) ControlSetText("msg", "", "Static1", $chars[5] & $chars[4] & $chars[3] & $chars[2] & $chars[1] & $chars[0]) Sleep(150) ; pausa Next Next SplashOff()
  4. se for x64 RegWrite("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "Shell", "REG_SZ", "programa.exe") x86 RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "Shell", "REG_SZ", "programa.exe")
  5. Multi-thread em autoit

    teria um exemplo @Luigi usando "PIPE" ou TCP/IP?
  6. Aliviar uso da CPU

    @Luigi Mais o motivo principal do tópico é realmente aliviar o "loop", acho que você entendeu errado, por padrão seja com Sleep(), AdlibRegister() o AutoIT vai trabalhar com no minimo 10ms.. e como disse no inicio do tópico estes 10ms para o meu proposito era muito (ainda mais que o autoit não tem um "time" muito correto) então mesmo eu colocando 10ms de "pausa" muitas vezes estes 10 se torna, 15, 20ms ou mais, este foi o real motivo de chamar a função dentro do looping, ou seja aliviar o uso de cpu.
  7. Aliviar uso da CPU

    Pessoal existe alguma maneira de aliviar o uso da CPU usando qualquer parâmetro abaixo de 10 milissegundos? Eu gostaria de usar um sleep(5) ou sleep(3) por exemplo, mas sei que sleep() não é possível porque o uso de 1 a 9 será automaticamente padronizado para 10 milissegundos. Alguem sugere alguma alternativa? O que acontece é que estou fazendo uma automação que requer uma precisão porque usa como entrada um receptor infravermelho, a leitura é muito rápida e se eu usar um "loop" de verificação com um tempo de 10 ms que é o mínimo do sleep() as vezes (raro) a rotina perde a leitura de entrada, vou dar um exemplo .. While True ; verificação de entrada... perfeito 0% de erro, mas o uso da CPU atinge 50% WEnd While True ; verificação de entrada... 0% de uso da CPU, mas 10% de chance de dar erro Sleep(10) WEnd Obs: tentei UDF _HighPrecisionSleep() porem o tempo "pelo menos aqui" continua entre 10 e 15 ms. Qualquer dica será de grande ajuda..
  8. Capturar tela de vídeo

    Olha vou te dar um exemplo, mais pode ser que você tenha que ajustar para seu proposito.. ; mutleey ; 12/06/2018 ; de uma olhada nas opçoes do ffmpeg (ffmpeg -help) $vidIN = "meu_video.mp4" ; video entrada $imgOUT = "frame.jpg" ; frame saida $outRES = "1024x768" ; resolução da imagem $vidTIME = "00:01:14" ; posição do video reproduzido HH:MM:SS ShellExecute("ffmpeg.exe", '-ss ' & $vidTIME & ' -i ' & $vidIN & ' -t 1 -s '& $outRES & ' -f image2 ' & $imgOUT, @ScriptDir, "open", @SW_HIDE) ffmpeg Download obs: isso é só uma ideia, existe outros softwares que podem extrair frames, basta testar e ajustar..
  9. Capturar tela de vídeo

    Entendi.. bom no caso então uma sugestão seria você ao invés de tirar um print extrair um frame do vídeo e renderizar, lógico que o script teria que estar acompanhando o "andar" do video para extrair o frame na mesma parte que esta em reprodução.. e isso é só uma ideia, teria que testar e ver se ficaria eficaz.
  10. Capturar tela de vídeo

    Bom se tratando de autoit acho que vai ser um "tiro no pé", lembramos autoit é lento então mesmo que seu script chame o próximo vídeo e logo em seguida chame a função pra tirar um "print" antes de fechar o vídeo em reprodução, como sabemos o autoit demora um certo tempinho pra executar certas funções (creio eu que tirar um print) demoraria quase que o mesmo tempo entre carregar um outro vídeo, ou seja iria talvez minimizar o tal "buraco".. não seria mais viável criar um banner seu com uma propaganda ou com a frase "Carregando...", "Loading..." e apenas renderizar ela no pic?
  11. Capturar tela de vídeo

    Mais você precisa do "print" ou de uma imagem "frame" do video?
  12. Capturar tela de vídeo

    olha se resolve... ; mutleey ; 09/06/2018 ; print screen tela cheia PrintScreen('Screen', 'fullscreen.jpg', 100) ; print screen parcial PrintScreen('Region', 'region.bmp', 100, 5, 5, 300, 200) Func PrintScreen($Type, $sFile, $Quality, $Left = "", $Top = "", $Width = "", $Height = "") Switch $Type Case "Screen" DllCall("wprint.dll", "int:cdecl", "CaptureScreen", "str", $sFile, "int", $Quality) Case "Region" DllCall("wprint.dll", "int:cdecl", "CaptureRegion", "str", $sFile, "int", $Left, "int", $Top, "int", $Width, "int", $Height, "int", $Quality) EndSwitch EndFunc DLL em anexo. wprint.zip
  13. Navegador Chrome, firefox e Edge

    Afinal o que vc quer fazer?
  14. Envio de teclas

    Provavelmente o jogo esta "assumindo" a tecla que vc designou para tal tarefa, tente antes de usar o "send" ativar a janela do programa, isso nem sempre funciona pois tem aplicações que mesmo que esteja em segundo plano continuam usando determinadas teclas, mas faz um teste caso não resolva a gente pensa em alguma coisa.
  15. TrayToolTip (Resolvido)

    Manimal não entendi muito bem, seria mais ou menos isso? ; mutleey ; 24/04/2018 Local $itray = "Rede Acesso à Internet" Local $splash = False Local $hwnd InetGet("http://blog.corujadeti.com.br/wp-content/uploads/2017/01/joinha.jpg", @TempDir & "\joinha.jpg") While Sleep(10) $hwnd = WinGetTitle("[CLASS:tooltips_class32]", "") Select Case StringCompare($hwnd, $itray) = 0 And $splash = False $splash = True SplashImageOn("tray", @TempDir & "\joinha.jpg", 515, 589, -1, -1, 1) Case StringCompare($hwnd, $itray) <> 0 And $splash = True $splash = False SplashOff() EndSelect WEnd to meio corrido hj então só deu pra escrever o basicão mesmo rs. obs: na variável $itray esta o "tooltip" de rede, uso o windows 7 então precisa mudar para a indentificação do icone que vc for usar.
  16. Ler conteudo do drive

    vou fazer uns testes aqui.. Edit: Belini aqui deu as mensagens de erro tbm, ja tentou fazer o upload e download manual pra ver se funciona?
  17. Ler conteudo do drive

    posta a parte do script que não esta funcionando que eu vejo se aqui funciona.
  18. Ler conteudo do drive

    não tenho Belini, aliás nunca usei tal recurso.. estou um pouco corrido mais assim que der uma pausa eu dou uma olhada nisso!
  19. Aliviar uso da CPU

    Depois de muita procura e testes, achei uma modificação da UDF _HighPrecisionSleep() que retornou resultados satisfatorios.. Pra quem estiver com o mesmo problema segue o código. ; mutleey HotKeySet("{ESC}", "__Exit") Global $ntdll = DllOpen("ntdll.dll") Global $winmm = DllOpen("winmm.dll") While True $timer = TimerInit() MsSleep(1) ConsoleWrite('> ' & TimerDiff($timer) & @LF) WEnd Func MsSleep($MS) $MS *= 1000 DllCall("winmm.dll", "int", "timeBeginPeriod", "int", "1") DllCall("ntdll.dll", "dword", "NtDelayExecution", "int", 0, "int64*", -10 * $MS) EndFunc ;==>MsSleep Func __Exit() DllClose("ntdll.dll") DllClose("winmm.dll") Exit EndFunc
  20. Aliviar uso da CPU

    Pedro sua sujestão é bacana mas como citei no primeiro post a rotinha não espera por "keys" ou "switchs" desta forma ficaria facil pois ao apertar uma tecla toda a estrutura da função seria chamada e assim não haveria erro, o que acontece é que dentro da rotina tem uma verificação de sensores ópticos, e estes sensores são mega rápidos na leitura, então estes 10 ms de "pausa" no looping que seria para aliviar o uso da cpu... (raro) mais tem chance de erro, acredito que a "leitura" destes sensores é muito menor que 10 ms, se eu uso a rotina sem a "pausa", sleep() ou GUIGetMsg() a precisão fica 101% o unico problema é que o uso da cpu vai a 50% e com uma pausa de 10 ms na rotina o uso da cpu é 0%.
  21. Aliviar uso da CPU

    Belini GUIGetMsg() seria o mesmo que sleep(10), ja fiz o teste e o tempo é em media 10 ms
  22. Ler conteudo do drive

    aqui tem uma boa alternativa > https://docs.microsoft.com/en-us/onedrive/developer/rest-api/
  23. Ler conteudo do drive

    achei bacana a idéia, vi que no forum americano te deram uma solução.. como vc pega o link no drive do google?
  24. Pessoal não sei se ja existe ou tem algo que possa ser modificado, estou em um projeto que exige uma especie de microswitch porem tem que ser optica, até tem uma no mercado porem esta envia um sinal gnd ou 5v e o que preciso é que funcione como uma microswitch mesmo ou seja que esteja normalmente aberta ou fechada e quando cortar o feixe de luz mude.. qualquer ideia é bem vinda, procurei muito no google e não obtive nada satisfatorio. fiz uma imagem pra exemplificar. Já resolvi pessoal!
  25. Erro na execução de script

    somente com a imagem do erro não tem como saber a causa, ou vc melhora seu conhecimento em autoit e corrije o erro ou posta o codigo, não há outra forma de te ajuda... obs: sou de sjrp tbm rs
×