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

Como pressionar tecla?


Marcos Remar

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Retirado do help do VB5:

Para especificar caracteres que não são exibidos quando você pressiona uma tecla, como ENTER ou TAB, e teclas que representam ações em vez de caracteres, utilize os códigos a seguir.

 
BACKSPACE{BACKSPACE}, {BS} ou {BKSP}
BREAK{BREAK}
CAPS LOCK{CAPSLOCK}
DEL ou DELETE{DELETE} ou {DEL}
SETA ABAIXO{DOWN}
END{END}
ENTER{ENTER}ou ~
ESC{ESC}
HELP{HELP}
HOME{HOME}
INS ou INSERT{INSERT} ou {INS}
SETA À ESQUERDA{LEFT}
NUM LOCK{NUMLOCK}
PAGE DOWN{PGDN}
PAGE UP{PGUP}
PRINT SCREEN{PRTSC}
SETA À DIREITA{RIGHT}
SCROLL LOCK{SCROLLLOCK}
TAB{TAB}
SETA ACIMA{UP}
F1{F1}
F2{F2}
F3{F3}
F4{F4}
F5{F5}
F6{F6}
F7{F7}
F8{F8}
F9{F9}
F10{F10}
F11{F11}
F12{F12}
F13{F13}
F14{F14}
F15{F15}
F16{F16}

Para especificar teclas combinadas com qualquer combinação das teclas SHIFT, CTRL e ALT, preceda o código de teclas de um ou mais dos códigos a seguir:

 
SHIFT+
CTRL^
ALT%

Para especificar que qualquer combinação de SHIFT, CTRL e ALT deve ser mantida pressionada enquanto várias outras teclas são pressionadas, coloque o código dessas teclas entre parênteses. Por exemplo, para especificar manter pressionada SHIFT enquanto E e C são pressionadas, utilize "+(EC)". Para especificar manter pressionada SHIFT enquanto E é pressionada, seguida de C sem SHIFT, utilize "+EC".

Para especificar a repetição de teclas, utilize a forma{tecla número}. Você deve colocar um espaço entre tecla e número. Por exemplo, {ESQUERDA 42} significa pressionar a tecla SETA À ESQUERDA 42 vezes; {h 10} significa pressionar H 10 vezes.

Observação Você não pode utilizar SendKeys para enviar pressionamentos de teclas para um aplicativo que não tenha sido projetado para ser executado no Microsoft Windows. Sendkeys também não pode enviar a tecla PRINT SCREEN {PRTSC} a nenhum aplicativo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --brunocia2000 --

Eai, beleza? Consegui encontrar a solução:

Declare as funções em um módulo:

Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

E depois no evento que deseja simular o clique chame os metodos assim:

SetCursorPos 12, 12

mouse_event &H2, 0&, 0&, 0&, 0&

Obs: O 12,12 acima seria as coordenadas X,Y a ajustar para o mouse...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, estou com um problema. Eu não consigo usar o sendkeys em um aquivo de txt criado através de vb excel. Ele é criado e aberto com sucesso, e inclusive com foco normal, abrindo e ficando como janela ativa. Mas, as teclas sendkeys ao invés de funcionarem no recém arquivo txt (bloco de notas) aberto, continuam digitando no excel.

A linha final dos meus comandos são:
Shell "cmd /c ""notepad.exe """ & strTempFile & """", vbHide

strTempFile é uma string de caminho de arquivo.

As teclas em sendkeys que gostaria de usar é "^{END}" E EM SEGUIDA "{BACKSPACE}", contudo a instrução acontece no excel e não no bloco de notas.

Editado por Rogério Vaz
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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...