Jump to content

Manimal

Administradores (Adm)
  • Content count

    491
  • Joined

  • Last visited

  • Days Won

    63

Everything posted by Manimal

  1. Legal Belini. Não me toquei da linguagem, estou tão acostumado com inglês que as vezes tenho que me policiar quando indico algo. Obrigado pela lembrança. E que bom que vc achou um outro site/app, que aliás parece muito bom. Comentei do Lotto Sorcerer, pois quando brinquei com análise combinatória uns tempos atrás, eu utilizei ele como base para conferência dos meus scripts. E achei bem legal o que ele fazia, porém era ainda na versão 6. Já está na 9.2. Deve ter mudado um monte! Muttley, eu acredito que ninguém conheça toda a potencialidade de nenhuma linguagem, até porque são muitos comandos e funções. E no AutoIt então? Sem falar nas trocentas funções de terceiros que existem aqui (fora outros locais): https://www.autoitscript.com/wiki/User_Defined_Functions
  2. Olá galera. Se quiser fazer em AutoIt pode usar o _ArrayPermute, que vai te mostrar todas as combinações possíveis dentro de um universo. Ou _ArrayCombinations. Lembre porém que o nro de combinações é estratosférico e passa por combinações no estilo 1-2-3-4-5-6 que o Mutleey mencionou. O mais adequado seria misturar uma estatística com a combinação destes nros. Por exemplo, os nros mais comuns dos últimos 30 sorteios foram os nros 5, 7, 10, 15, 22, 34, 41 (sei lá...) e fazer as combinações usando estes nros. Mesmo assim, a quantidade de variações é enorme. Para quem quiser aprofundar mais sobre a brincadeira, é só lembrar da escola e procurar sobre Análise Combinatória. Eu ainda acho mais prático utilizar ferramentas prontas que fazem isto que eu mencionei e mais... Baixe o aplicativo Lotto Sorcerer que além de montar todas as combinações que vc quer, ainda mantém os resultados de várias loterias (que monta as estatísticas) inclusive do Brasil. Se funcionar, eu quero meus 10% hahahahaha
  3. Linguagem do Autoit

    Olá Everton. Como assim "definida formalmente"? O nome da linguagem é AutoIt, simples assim.
  4. Organização do script

    Oi Mutleey. Quando em falo em compilação efetiva, eu quero dizer, eliminação do interpretador e criação de código de máquina mesmo! Com isto, naturalmente, a velocidade de execução aumenta. Quanto ao multi-threading já depende muito mais de conceitos da linguagem do que mudança do compilador... Mas é uma possibilidade! Não percebemos, mas várias linguagens atualmente são interpretadas, principalmente as Web, naturalmente por causa do próprio ambiente e isto é uma tendência. Empresas como a Google, lançando a plataforma CSP e outras na mesma linha, que trabalham os conceitos de "containers" vão cada vez mais caminhando neste sentido. A compilação efetiva é coisa de desktop e por tabela voltada especificamente a uma plataforma apenas. Ou Windows ou Mac, por exemplo. Não é possível compilar para as duas simultaneamente. A solução disto é os containers, que resolvem essa questão e permitem que o mesmo código seja executado em qualquer dispositivo. O custo disto é a lentidão das plataformas. O melhor exemplo disto é a linguagem Java, que roda em trocentos equipamentos. Eu não gosto de Java, nunca fui com a forma como a linguagem foi implementada, mas reconheço que o conceito de amplitude dela é muito interessante. Como comentei antes porém, é necessário um "layer" adicional que interprete a linguagem e converta para os códigos de máquina do dispositivo em que ela está rodando e isto "acaba" com a velocidade, sem falar da memória necessária. Este é o motivo pelo qual precisamos instalar (ou atualizar) o JRE (Java Runtime Environment) em tudo que é lugar. Infelizmente reconheço que a compilação efetiva, tornar-se á muito complicada, demorada e cara de manter, a ponto de ser comercialmente viável. Portanto, acostumemo-nos com os interpretadores ;)
  5. Organização do script

    Olá Odaylton. Realmente o AutoIt Debugger é muito interessante. Os conceitos de projeto, trabalhar com vários fontes, um debugger integrado à IDE fazem parte da maioria dos ambientes de programação de linguagens mais conhecidas por aí. O fato de ter sido descontinuado não é problema, pois ainda funciona perfeitamente na atual versão do AutoIt. Futuramente? Vamos ver... Minha opinião pessoal é que apesar dos recursos, não me adaptei com ele, mas isto é uma questão de gosto mesmo. Fico um pouco chateado com os desenvolvedores originais, que são fantásticos, mas tem uma visão incorreta de sua própria criação! O AutoIt já foi uma mera ferramenta de automação ou de produção de pequenos scripts e tal, mas hoje sua complexidade e abundância de recursos exige um tratamento bem mais profissional, com uma IDE apropriada, compilação efetiva (para eliminar os problemas de direitos autorais), uma interface para produção de janelas e relatórios, etc... Hoje o AutoIt é uma linguagem madura, sem nada a dever para as outras, mas está sendo mantida em segundo plano por conta desta visão tacanha. É uma pena.
  6. Pessoalmente fiz apenas alguns testes pequenos e fiquei na MCI mesmo. Agora que vou lançar a versão definitiva do Scriba, me sobra tempo para pesquisar a VLC e decidir se vale ou não a pena migrar!
  7. @Pedro Pinheiro A ideia é usar a DLL do VLC direto, sem precisar instalar nada, mas parece que o suporte a esta DLL ficou velho, mas teoricamente funciona Segue os links https://www.autoitscript.com/forum/topic/114143-vlc-media-player-udf/ e https://www.autoitscript.com/forum/topic/91316-vlc-media-player/ @Belini Está ficando legal né?
  8. Também não achei nada nas configs do K-Lite. Talvez em outro pacote de codecs. Mas o que o Pedro falou foi uma mudança do Aspect Ratio (AR), que nem todos o players aceitam. Sei que o VLC e o PotPlayer sim, mas duvido que o WMP (padrão MCI) que estamos usando aceite esta brincadeira. Mais um motivo para migrar para a DLL do VLC. E mesmo que mude o AR, as barras pretas são inevitáveis por causa da mudança. Se efetivamente preencher a tela toda, a imagem vai provavelmente ficar distorcida!
  9. Boa pergunta. Olhei todos aqui e não achei a opção de tela cheia. Vamos aguardar o Pedro esclarecer...
  10. Olá Pedro. Eu não tenho este ícone no meu Systray, por isso não percebi. Tenho o hábito de desligar os ícones o máximo possível. Então o que vc deve estar falando é um dos ícones do CODEC em questão, isso? Pode verificar qual é? Isso é muito particular do pacote de codecs que vc está usando. Eu pessoalmente prefiro o K-Lite versão BASIC (http://www.codecguide.com/download_kl.htm) Mas isso é interessante e obrigado por compartilhar!
  11. Vou tentar novamente com a VLC e te passo os resultados!
  12. Pois é... Eu estou usando esta biblioteca em um projeto meu também e percebo certas limitações por causa do MCI nativo do Windows. Certa vez, disponibilizei a DLL do VLC para ti, comecei a considerar utilizar aquela, mas os exemplos e DLL's que encontrei na inet foram broxantes. Tentou alguma vez com a VLC? Chegou a usar? Vale a pena?
  13. Olá Belini. De acordo com as funções que vc passou seria: _Video_PLay($sNomeInterno, 1) ; o 2o parâmetro com nro 1 identifica para tocar em tela cheia
  14. Olá Boogerman. Também é possível utilizar o ControlSend como alternativa ao Send.
  15. Certificado Digital

    Olá Calixto. Neste caso, utilize o programa CertUtil com a opção -dump certutil -p SenhaDoCertificado -dump d:\arquivo.pfx Se quiser (ou precisar), redirecione a saída certutil -p SenhaDoCertificado -dump d:\arquivo.pfx > meucert.txt
  16. IPC - Pode ser interceptado?

    Opa Luigi. Pelo meu entendimento, o IPC pode ser (em teoria) interceptado sim. Por quê em teoria? Porque como existem vários métodos diferentes de IPC (Mailslot, memory sharing, file sharing, registro, TCP, etc) haveria uma possibilidade de interceptar o método em particular, porém acredito que isto na prática não tem sentido em ser feito por 2 (duas) razões): teria que reconhecer (ou saber) qual método está sendo utilizado para poder vigiá-lo; mesmo que soubesse qual método (e protocolo) utilizar, qual o objetivo desta interceptação? Se for para fins de invasão, testes de penetração por exemplo, tem outras maneiras mais interessantes de abrir um sistema. Se for para fins de atacar um determinado processo (ou programa), teria que haver um interesse muito grande a respeito. Utilizo atualmente 2 IPCs diferentes (mailslot e registro) nos meus sistemas. Funções diferentes, métodos diferentes. Mas interessante o seu levantamento... ;)
  17. Olá Belini. Em muitos casos, onde a cópia de segurança (backup) é feita em pendrive ou até mesmo em HD removível, é um cenário muito comum que ao "plugar" o dispositivo (Pendrive ou HD) o Windows designe uma letra de unidade, que nem sempre fica a mesma por vários motivos internos do Windows. Vc já deve ter visto este tipo de cenário. O grande problema é que em 99,5% dos softwares de backup onde ocorre automação é informado uma unidade certa como destino do backup, como H: ou X:. Mas quando o Windows inventa de trocar esta letra em desacordo com a programação do backup, dá confusão certo? Assim eu uso o USBDLM (USB Drive Letter Management - Gerenciador de Letra de Drive USB), para fixar sempre a mesma unidade para determinado dispositivo. Isto é efetuado através da análise de uma das configurações disponíveis. Por exemplo, eu uso muito o nro do serial para fixar a letra. E uso o programa acima USBDriveInfo para identificar o serial. Finalmente eu utilizo esta informação para configurar o USBDLM para sempre que o dispositivo de serial XYZ for inserido, a letra dele sempre será X (por exemplo). Daí parei de me preocupar com os backups que não funcionavam.
  18. Olá Belini. Não tinha testado ainda mas sim. Só chamar com a opção /RD, mas tem mais opções: olha com /?. Este programa vem junto com o USBDLM, que é um programa que eu uso para "fixar" a letra da USB nos clientes e para mim é o mais completo para mostrar informações dos pendrives. UsbDriveInfo.zip
  19. Script adicionar character

    Olá Bllee. Local $sTexto = "" For $nConta = 1 to 5 For $nLetra = Asc("A") to Asc("Z") ConsoleWrite($sTexto & Chr($nLetra) & @CRLF) Next $sTexto &= Chr(Asc("@") + $nConta) Next
  20. Opa Belini. Aqui funcionou perfeitamente, Win 7 64. Já testou com #RequireAdmin?
  21. Multi-thread em autoit

    @LuigiExcelente sugestão de dividir os scripts! E como ele comentou existem vários maneiras de conversar de fazer um script conversar com outro, são os chamados IPC (Inter-Process Communication). São procedimentos que utilizam de diversas técnicas para implementar a comunicação entre programas diferentes, ou no nosso caso, entre scripts diferentes. A ideia é que nosso programa que tem um conjunto de variáveis próprias e seria muito bom que fosse possível que algumas variáveis pudessem ser "compartilhadas" com outro programa. Porém o compartilhamento de espaço de memória (shared memory management) apesar de possível não é recomendado, inclusive no Windows existe uma camada de proteção para evitar isto chamada DEP (Data Prevention Execution). Explicar o motivo e como fazer (ou porque evitar) tomaria tempo e não é o objetivo do tópico. Resta saber que existem vários meios de fazer isso, sendo uma das mais comuns a utilização de Pipes, que inclusive tem funções nativas no AutoIt (ver Help, User Defined Functions, NamedPipes Management). Outro modo de fazer isso é usando MailSlot, com excelentes funções da Trancexx. Outras maneiras envolvem compartilhamento de arquivos ou mesmo do próprio registro, ou através de protocolo de rede (TCP) e assim por diante. É uma área ampla e interessante. Para saber mais pesquise IPC e AutoIt, existem vários tipos e exemplos.
  22. Capturar tela de vídeo

    Olá Pedro. Não tenho certeza se a sintaxe do comando capture está correta. O Help não ajudou e não consegui exemplos práticos. Mas imagino que deva ter algum problema com ela, pois para capturar a tela os programadores originais da função que o Belini usou, preferiram usar uma outra rotina para tal. Estranho, mas sua dúvida é válida!
  23. Capturar tela de vídeo

    Excelente pergunta Mutleey. Vai levar medalha por essa ;) Eu pensei que o Belini queria um print pois havia uma função no soft que o cliente fazia o print (user request), mas agora pelo papo deu a entender que o print é apenas para preencher o espaço (ou buraco) entre um vídeo e outro, isso? Se for este o caso, porque não deixar uma série de imagens prontas e daí randomizar entre elas? O efeito é o mesmo. É o caso do banner, só que iria mudar a imagem. Na verdade, os clientes não ligam muito para isso. Quem se liga nessa viagem somos nós! Eu apanhei muito (e ainda apanho) pra não perder muito tempo viajando em um detalhe do soft (perfeccionismo) que muitas vezes o cliente nem nota. Sabe aquele "efeito arredondado" nas bordas da janela que vc movimentou meio mundo pra fazer? Pois é o ciente nem sabia que estava ali ;( O problema não é fazer o efeito mas o tempo dispendido nessa tarefa, que poderia ser melhor aproveitado desenvolvendo novas "features" ou melhorando o código em algo que realmente faça diferença. Eu ainda faço isso, mas tento me policiar para reduzir o tempo gasto nestas coisas! Não que não sejam legais, só tem que avaliar o tempo x efeito! Se dependesse só de mim, eu ficava polindo cada pixel da interface ;)
  24. Capturar tela de vídeo

    Ok, mas agora confirmamos que os problemas são realmente os codecs e a estrutura necessária para que o copiar tela seja possível. Seu problema agora não é nem a respeito dos codecs no WinXP, porque devo ter aqui uma versão do K-Lite que funciona com esse Windows, mas a parte que vc disse que seus clientes não vão querer mexer nisso. Quanto a conseguir ou não capturar a tela não usando codecs, já fica mais complicado pois é uma questão de sistema e não de vontade. É como querer matar a sede e não usar líquidos. Veja eu disse líquido e não água. Se fosse água, poderia matar a sede com leite, cerveja, etc (alternativas), mas todas tem a base líquida. Neste caso dos codecs é o mesmo princípio. Eu recomendo 2 sugestões: Como vai ser para melhor, troque os codecs dos clientes, funciona para vc e para eles. E sinceramente a maioria (99%) nem sabe o que é um codec; Tente utilizar algum software de captura de tela mais profissional como ShareX ou Greenshot. Porém neste caso tem que verificar se algum deles possui algum tipo de comunicação, senão terá que usar um simulador de teclas pra ativar a captura tipo SEND("combinação maluca de teclas que ativa o software"). Neste caso, também terá que instalar um software destes e talvez o cliente não goste. Em suma, em qualquer cenário, algum tipo de modificação no SO terá que ser feito. Este inclusive é o princípio dos programas de instalação, que por sua vez, instalam os drivers, codecs, aplicativos paralelos e tudo o mais necessário para que o programa principal funcione adequadamente. Como exemplo: Instalação do PotPlayer baixa e instala um pacote de codecs próprio; Instalação de vários jogos e programas que instalam sua própria versão do Visual C (2012, 2015, 2018...); Instalação do Bullzip PDF (excelente impressora PDF free) que baixa e instala 3 aplicativos adicionais para poder funcionar; Qualquer aplicativo que funcione com .NET (que por sua vez tbm precisa estar autalizado). E assim por diante... E sem contar com a dificuldade adicional que muitos destes programas não tem mais suporte ao WinXP. Enquanto isso, vou dar uma olhada nos comandos de GDI...
×