Ir al contenido


Foto

Mantener Precionada una Tecla?


  • Por favor identifícate para responder
3 respuestas en este tema

#1 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 12 octubre 2009 - 11:57

Bueno tengo una pequeña duda, como puedo hacer para mantener precionada la tecla Ctrl del Teclado, durante un tiempo X que yo decida.

Lo que hice inicialmente es inttroducir mi funcion de un click de una tecla dentro de  timer el cual tiene un intervalo de 1milisegundo.


delphi
  1. procedure TForm1.tmr_AutoCtrlTimer(Sender: TObject);
  2. begin
  3. keybd_event(VK_CTRL, 0, 0, 0);
  4. Sleep(1);
  5. keybd_event(VK_CTRL, 0, KEYEVENTF_KEYUP, 0);
  6. end;



Pero ocurre que en mi Pentium4 corre normal es decir, se nota que la tecla ctrl esta presionado ciertos intervalos largos y hay uno que otro cortos. Pero luego de probar en una Core 2 duo donde se cambian los papeles los tiempos de presionado o de click de la tecla son menores nose que hice mal o que paso o como solucionar.

Gracias y espero sus ayudas
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 octubre 2009 - 12:59

"Sleep(1)" es demasiado corto pues :s, eso es más rápido que un parpadeo :D. Prueba subiendolo a 500 o 1000 que equivales medio segundo y 1 segundo respectivamente.

Saludos.
  • 0

#3 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 12 octubre 2009 - 01:27

Haber El timer donde esta todo esto esta a un intervalo de

delphi
  1. 1 Milisegundo

esta bien?

Ahora dentro del Timer esta la funcion el cual le dejo un Sleep de de 1Mili Segundo igual, deberia de aumentar el intervalo a uno de 250 Milisengundos o medio segundo que seria lo ideal no?
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 octubre 2009 - 01:36

Así es amigo, deberías aumentar el sleep, mi recomendación sería a partir de 500ms ;).
  • 0




IP.Board spam blocked by CleanTalk.