Ir para conteúdo
Fórum Script Brasil
  • 0

Simulação de tecla pressionada no Qbasic.


wrcasasanta

Pergunta

Bom dia.
Gostaria de saber se é possível haver um acionamento de uma tecla, feito automaticamente por um programa em "Qbasic", e como seria essa linha de comando.
Eu tenho o programa SNARF.EXE, que executo antes do Qbasic, no MS-DOS. O SNARF.EXE é um programa que fica residente na memória, e a função dele é a captura da tela, criando uma imagem ".BMP". Ele fica a espera do acionamento das teclas combinadas "ALT + S" para a captura. Eu preciso capturar milhares de telas "prontas" ao longo do trabalho feito por um programa ".BAS" no Qbasic. O programa ".BAS" roda sem problemas com a tecla "ALT" travada (constantemente acionada); assim basta que a tecla "S" seja acionada para que a tela seja capturada pelo SNARF.EXE. Se o próprio programa ".BAS" não realizar o acionamento da tecla "S", eu tenho que ficar por muitas horas no teclado, acionando essa tecla, sempre que a tela estiver "pronta", e isso ocorre a cada 6 ou 10 segundos, ininterruptamente.
Como, então, eu programo o arquivo ".BAS" para ele executar essa "teclada", que seja válida para o SNARF.EXE aceitar como sendo feito no teclado físico, e assim capturar a tela.
Espero que ainda tenha alguém recebendo comentários aqui, e que possa responder, me informando como eu resolvo essa questão.
Obrigado.

Editado por wrcasasanta
Linhas qubradas pelo bloco de notas onde copiei para colar aqui. A pergunta apareceu, também, com as linhas quebradas.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá, pessoal.

Não sei se alguém visualizou minha postagem acima, mas, mesmo não havendo respostas, venho informar que não necessito mais dessa "teclada", pois resolvi conseguindo muito mais que isso.

Eu consegui desenvolver uma captura de tela pelo próprio programa do Qbasic.

Depois de muito trabalho em entender a estrutura de imagens, elaborei esse programinha de captura de tela, salvando-a no formato BMP, que é o mais fácil de ser entendido e programado:

 

REM CAPTURA DE TELA POR UM PROGRAMA DO QBASIC.

DIM p AS STRING * 1

REM Cabecalho de arquivo BMP (640x480 16 cores) já convertido em decimais
DATA 66,77,118,88,2,0,0,0,0,0,118,0,0,0,40,0,0,0,128,2
DATA 0,0,224,1,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,0
DATA 0,0,0,168,0,0,168,168,0,0,0,0,168,0,168,0,168,0,0,84
DATA 168,0,168,168,168,0,84,84,84,0,252,84,84,0,84,252,84,0,252,252
DATA 84,0,84,84,252,0,252,84,252,0,84,252,252,0,252,252,252,0

REM Dimensiona "s" pelo tamanho do cabecalho
DIM s(118) AS INTEGER

FOR i = 1 TO 118
READ s(i)
NEXT i

CLS : SCREEN 12

REM Cria uma tela para ser capturada
FOR i = 1 TO 300
a = INT(RND * 640)
b = INT(RND * 480)
c = INT(RND * 640)
d = INT(RND * 480)
cor = INT(RND * 16)
LINE (a, b)-(c, d), cor
NEXT i

REM Inicia a criacao do arquivo BMP de nome "TELA0001.BMP"
OPEN "C:\TELA0001.BMP" FOR BINARY AS #1

REM Cria o cabecalho
FOR i = 1 TO 118
p = CHR$(s(i)): REM O "PUT" deve enviar o codigo ASCII do valor do dado
PUT #1, i, p
NEXT i

REM Para iniciar dados da imagem no ponto imediatamente apos o cabecalho
l = 119

REM Transfere valores de cores de cada pixel da tela ao arquivo
FOR y = 479 TO 0 STEP -1: REM O BMP varre de baixo para cima
FOR x = 0 TO 639 STEP 2
a = POINT(x, y) * 16
a = a + POINT(x + 1, y)
p = CHR$(a): REM O "PUT" deve enviar o codigo ASCII do valor de cada pixel
PUT #1, l, p
l = l + 1
NEXT x, y
REM Arquivo BMP completamente formado

REM Fecha arqivo
CLOSE #1

END

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...