segunda-feira, 29 de janeiro de 2007

Post #1. Toma essas teclas, carai!

Fala aí, galera!

Bom, pra quem não me conhece, sou Daniel Bezerra e fui convidado pra participar desde blog, enviando novidades, notícias, códigos, musiquinhas, mp3 (quem conhece, entendeu)...

Eu estou preparando uns possíveis posts legais, mas como ando meio sem tempo, vai ser meio complicado postar tão rápido o que eu estou pretendendo mostrar pra vocês.

Diante disso, pra eu confirmar a minha participação, vou postar pra vocês aqui uma solução pra quem está de saco cheio de ficar fazendo comandos repetitivos.

Aquele que não teve que testar seu programa, ou até mesmo programas de terceiros, que nunca teve que digitar milhões de vezes um usuário e uma senha e nunca ficou de saco cheio disso que atire a primeira pedra. É claro que, sendo um programa desenvolvido por você mesmo, no caso do Delphi, por exemplo, você pode colocar uma diretiva de compilação e suprimir o login. Mas vai dizer que você, pelo menos uma vezinha, não quase mandou pra produção um sistema sem login (hehehe)?

Hoje estou trabalhando como analista. Especifico e testo as aplicações desenvolvidas pelos programadores. Não tenho como suprimir uma tela de login, uma vez que, teoricamente, não tenho acesso aos fontes. Diante disso, pensei: por que eu estou digitando milhares de vezes um usuário e senha, se o computador pode fazer isso por mim? Gente! Vamos automatizar os processos, pelo amor de Deus! Pra quê nós, humanos, fazermos trabalhos repetitivos, se a máquina pode fazer isso pra gente? Foi daí que surgiu a idéia do sistema de impressão automática, postado mais aqui abaixo pelo meu caro amigo Gerson (quem quiser saber da história, um dia a gente pode contar).

Diante do problema, fui pedir ajuda ao Pai da informática atual: Google. Se não tem no Google, é porque não existe! Logo, achei! Uma bibliotecazinha que faz todo o trabalho pra você. Muito fácil de implementar! Vocês encontram a biblioteca em http://home.conceptsfa.nl/~gvdvenis/downloads/sndkey32.pas.

A biblioteca tem vários procedimentos e funções, mas o básico é o seguinte: você chama a função AppActivate, passando o nome da janela que você pretende manipular. Se retornou True, é porque ele achou a janela. Daí é só começar a brincadeira. Chama a função SendKeys passando no primeiro parâmetro as teclas que você quer enviar ao programa e, no segundo parâmetro, se a função deve esperar cada tecla ser processada. Pra quem conhece o VB (eca!), qualquer semelhança não é mera coincidência.

Teclas especiais do teclado também podem ser enviadas, como, por exemplo, um F10 ou um TAB. Basta colocar entre chaves, assim: {F10}{TAB}. Na própria biblioteca você encontra uma “documentação” mostrando como trabalhar com as teclas especiais.

Eu, por exemplo, fiz um projetinho onde eu cadastro num ClientDataSet desconectado (XML) o caminho do executável de um programa, o nome da tela dele e a combinação de teclas que eu quero enviar. Daí, quando eu quero executar um programa, é só dar um duplo clique no registro da grid! =D Meu sisteminha já abre o programa “tomaticamente” e manda a combinação de teclas pra ele. Login em sistemas, nunca mais! Hehehehe!

Bom, é isso, pessoal! Quem tiver alguma dúvida ou quiser fazer algum comentário, manda aí que eu tô na área. Abraço a todos!


Um comentário:

  1. SendKeys é...... Hummmmmm....

    Recordar é viver

    SendKeys "{TAB}", True

    ResponderExcluir

 
BlogBlogs.Com.Br