MACRO COM KEYPRESS E KEYDOWN FORA DO FORM?

 Tópico anterior Próximo tópico Novo tópico

MACRO COM KEYPRESS E KEYDOWN FORA DO FORM?

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#494312 - 13/07/2020 15:03:45

THETRAAIL
RIO DE JANEIRO
Cadast. em:Março/2020


Boa tarde amigos! Estou querendo criar uma aplicação que, após apertar uma tecla predefinida vai fazer uma ação dentro de outra aplicação.
Achei um usuário na internet com o mesmo problema que eu, mas não entendi nada do código resposta no tópico dele e não funcionou da maneira que eu esperava...

Basicamente quero que ao apertar um botão (F2 por exemplo), minha aplicação digite uma frase de uma textbox enquanto estiver com outra aplicação em primeiro plano, como um macro mesmo!
Tentei de algumas formas mas não deu certo...

Código que usei:

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Enter Then
            SendKeys.Send(TextBox1.Text)
        End If
    End Sub



Tópico parecido: https://stackoverflow.com/questions/2752424/detecting-enter-keypress-on-vb-net



#494313 - 13/07/2020 16:08:45

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O método Send de SendKeys, recebe como parâmetro uma string contendo código de tecla e não uma propriedade de um componente.
Se o que você quer é que o foco caia em TextBox1 quando pressionar Enter, use SetFocus:

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Enter Then
            TextBox1.SetFocus()
        End If
    End Sub


_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494314 - 13/07/2020 16:10:26

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Mas posso presumir pelo que você está fazendo é que quando pressionar a tecla enter, então o próximo componente deve ser selecionado. Basicamente, substituir Tab por Enter. Se for isso:

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Enter Then
            SendKeys.Send('{TAB}')
        End If
    End Sub


_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494320 - 14/07/2020 12:07:52

THETRAAIL
RIO DE JANEIRO
Cadast. em:Março/2020


No caso, queria que ao pressionar a tecla enter, o texto da textbox1 fosse digitado na tela que estivesse em primeiro plano.
Como por exemplo, eu estaria com minha aplicação em segundo plano e um notepad em primeiro plano. Também estaria com uma frase digitada na textbox1, vamos usar como exemplo a frase 'isso é um teste!'
Ao abrir o notepad e pressionar enter, seria digitado automaticamente 'isso é um teste!' somente por apertar enter.



#494321 - 14/07/2020 12:25:43

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Se a tela que está em primeiro plano não é da sua aplicação, a coisa complica bastante.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494405 - 23/07/2020 11:06:36

MFLAVIO
CAMPINAS
Cadast. em:Maio/2009


Citação:
:
No caso, queria que ao pressionar a tecla enter, o texto da textbox1 fosse digitado na tela que estivesse em primeiro plano.
Como por exemplo, eu estaria com minha aplicação em segundo plano e um notepad em primeiro plano. Também estaria com uma frase digitada na textbox1, vamos usar como exemplo a frase 'isso é um teste!'
Ao abrir o notepad e pressionar enter, seria digitado automaticamente 'isso é um teste!' somente por apertar enter.

Amigo você quer um KeyLOGGER ou algo parecido com isso

esse tipo de APP e bloqueado pelo NETframework por segurança
imagina um APP em segundo plano, capturando as teclas do APP em primeiro plano digamos um WEB Banco
e manda todas as tecladas digitadas para um notePAD

consegue entender, o que aconteceria

Deus e o maior dos Programadores, ele criou tudo em liguagem visual
                                           .... e viu Deus que era bom


 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário