Ganhe dinheiro  escrevendo tutoriais para o Fórum do BABOO! Conheça os Tutoriais Pagos 2016

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lobo883

Delphi Simulação de precionamento de teclas

2 posts neste tópico

Estou criando um programa para automação e preciso com que uma tecla do teclado fique pressionada por x segundo ex: 4 segundo. Eu consegui o código abaixo q simula o pressionamento de uma tecla qualquer mas não a mentem pressionada.

procedure PostKeyEx32(key: Word; const shift:

TShiftState; specialkey: Boolean) ;

{

Parâmetros:

* key : código virtual da tecla a ser enviada. Para teclas que possuem caracteres este será o código ANSI (Ord(character)) .

* shift : estado das teclas de modificação. É um conjunto, de modo que você pode especificar várias teclas (shift, control, alt, botões do mouse) todas juntas. O tipo TShiftState é declarado na unit Classes.

* specialkey: normalmente este valor deve ser False. Defina-o como True para especificar uma tecla no teclado numérico.

}

type

TShiftKeyInfo = record

shift: Byte ;

vkey: Byte ;

end;

ByteSet = set of 0..7 ;

const

shiftkeys: array [1..3] of TShiftKeyInfo =

((shift: Ord(ssCtrl) ; vkey: VK_CONTROL),

(shift: Ord(ssShift) ; vkey: VK_SHIFT),

(shift: Ord(ssAlt) ; vkey: VK_MENU)) ;

var

flag: DWORD;

bShift: ByteSet absolute shift;

j: Integer;

begin

for j := 1 to 3 do

begin

if shiftkeys[j].shift in bShift then

keybd_event(shiftkeys[j].vkey,

MapVirtualKey(shiftkeys[j].vkey, 0), 0, 0) ;

end;

if specialkey then

flag := KEYEVENTF_EXTENDEDKEY

else

flag := 0;

keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;

flag := flag or KEYEVENTF_KEYUP;

keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;

for j := 3 downto 1 do

begin

if shiftkeys[j].shift in bShift then

keybd_event(shiftkeys[j].vkey,

MapVirtualKey(shiftkeys[j].vkey, 0),

KEYEVENTF_KEYUP, 0) ;

end;

end;

procedure TAron.Button1Click(Sender: TObject);

begin

PostKeyEx32(Ord('T'), [], False); //Presiona a tecla "t"

end;

alguém tem alguma ideia de como deixar a tecla "t" precionada por varios segundos?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguém ai tem alguma ideia?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
    • 5 Mensagens
    • 8699 Visualizações
    • 1 Mensagens
    • 236 Visualizações
    • 1 Mensagens
    • 722 Visualizações
    • CLF
    • CLF
    • 2 Mensagens
    • 572 Visualizações
    • 2 Mensagens
    • 654 Visualizações