Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Ayuda con Tecla F3 (https://www.clubdelphi.com/foros/showthread.php?t=66767)

AndrecitoPz 11-03-2010 03:12:57

Ayuda con Tecla F3
 
Hola a todos, disculpen si ste no es el lugar apropiado.

Necesito ayuda, trato de hacer una aplicación en delphi para un juego en donde cada segundo se apriete la tecla F3, se que el codigo debe de ir en un Timer pero no tengo mucho conocimiento sobre esto. Nose como deberia ir el VK_F3

Código:


procedure TForm1.TimerTimer(Sender: TObject);
begin
 
VK_F3
 
end;

Gracias de antemano.

BrunoBsso 11-03-2010 03:26:51

Hola.
Te paso el código que necesitás y una explicación mía
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  keybd_event(VK_F3, 1, 0, 0);
end;
Los argumentos que recibe keybd_event son:
1º) El código virtual de la tecla (escribí vk_ y luego presioná ctrl + barra espaciadora para ver todos)
2º) Un escaneo del código del hardware, no se necesita acá (nunca lo usé).
3º) Le decís si estás presionando la tecla (0) o soltándola (KEYEVENTF_KEYUP).
4º) Nunca supe.
Pero así como te lo dí tiene que servirte totalmente.
Saludos!

PD: No me acuerdo si hay que decirle al compilador que suelte la tecla después de que simule presionarla. En todo caso podrías poner después keybd_event(VK_F3,1,0,KEYEVENTF_KEYUP,0);

AndrecitoPz 11-03-2010 20:08:05

Gracias BrunoBsso!!!

Lo probe con el F5 y funciono me actualizaba paginas, el escritorio, etc

Quize probarlo en el juego y no funciono. ¿Habra algun Code Adicional para que funcione en el juego?

PD: El juego es GIS Gunbound.

Salu2.

BrunoBsso 11-03-2010 20:42:34

Puede ser que el juego ese detecte si hay algún programa de este estilo y lo tome como un hack, entonces anula lo que hace.
Se me ocurre nomás, porque muchos juegos tienen cosas así. Ese en particular no lo conozco, así que hasta ahí llegan mis conocimientos.
Esperemos que alguien venga con una de esas "ideas tontas" (lo digo así porque a veces se te ocurre algo que parece tonto pero no lo es) que siempre dan el resultado buscado.

AndrecitoPz 12-03-2010 18:59:55

Bueno solo queda esperar si alguien por ahi tiene alguna idea de como hacer esto posible, ya que lo he visto en el juego y es por eso que queria hacerlo.

Salu2.

BrunoBsso 12-03-2010 19:13:01

¿Probaste decirle al compilador que suelte la tecla después de presionarla?
Probá esto
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  keybd_event(VK_F3, 1, 0, 0);
  Sleep(200);
  keybd_event(VK_F3,1,0,KEYEVENTF_KEYUP,0);
end;
Tal vez sea eso.
Saludos!

AndrecitoPz 13-03-2010 21:39:35

Pues tampoco funciono asi...


La franja horaria es GMT +2. Ahora son las 11:49:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi