Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 18
jorgito.crazy Va por buen camino
Arrow como enviar tecla a windows

hola, como puedo hacer que al presionar una tecla, o un boton(que al presionarlo se envie una tecla antes definida), la ventana activa, o el control activo, en fin, se envie a window.
por ejemplo, si envio F5 que se atualize la ventana del explorador activa

Gracias
Responder Con Cita
  #2  
Antiguo 02-06-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
El problema es que la ventana activa va a ser la que reciba la tecla o el botón... o sea que sería reenviarse el mensaje a si mismo. Por otro lado si implementas algún mecanismo como un hook, si sigues la cadena de hooks el último que recibirá el mensaje ES la ventana activa.

- Si quieres enviar un WM_KEYDOWN a una ventana, simplemente podrías utilizar SendMessage(WM_KEYDOWN....
- Si quieres saber cuál es la ventana activa, puedes utilizar GetForegroundWindow.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 02-06-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por jorgito.crazy en un Mensaje Personal
Gracias federico, pero por favor trata de entender mi pregunta, no solo necesito enviar la tecla hacia una ventana, tambien a cualquier control activo, lo que quiero que pase en realidad es que si por ejemplo:
estoy en Microsoft Word y esta desplegado el menú Archivo, al enviar la tecla ¨S¨, que se cierre el Word porque es lo que pasaría si presionara en verdad la tecla ¨S¨ en el teclado, por tanto la que hará mi aplicación será simular que se esta usando el teclado, algo muy importante, tal vez digas: pero no puedes enviar nada a un control activo porque al hacer click(por ejemplo) sobre un boton, tu aplicación pasara a ser la ventana activa, y tu boton el control activo.
Pues no pienso usar un boton de mi aplicación, lo que voy a hacer es que por ejemplo cada 10 segundos(timer) se envie la tecla ¨Y¨ a windows. Espero que entiendas, y que te parezca que ahora si me tome el tiempo suficiente para formular mi pregunta.
Muchas gracias Federico y un Saludo
Por lo que leo, quieres que sea como si lo hubiera tipeado el usuario, entonces te recomiendo buscar ayuda sobre la función: keybd_event.

Por otro lado, te recomiendo que las preguntas las hagas en el foro, para que tus dudas sirvan para futuros usuarios.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 02-06-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por delphi.com.ar
Por otro lado si implementas algún mecanismo como un hook, si sigues la cadena de hooks el último que recibirá el mensaje ES la ventana activa.
¿Se puede hacer esto, seguir la cadena? ¿Cómo?

// Saludos
Responder Con Cita
  #5  
Antiguo 02-06-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
¿Se puede hacer esto, seguir la cadena? ¿Cómo?
Cita:
Empezado por Win32.hlp
Windows maintains a separate hook chain for each type of hook. A hook chain is a list of pointers to special, application-defined callback functions called hook procedures. When a message occurs that is associated with a particular type of hook, Windows passes the message to each hook procedure referenced in the hook chain, one after the other. The action a hook procedure can take depends on the type of hook involved. The hook procedures for some types of hooks can only monitor messages; others can modify messages or stop their progress though the chain, preventing them from reaching the next hook procedure or the destination window.
Cita:
Empezado por Win32.hlp
The CallNextHookEx function passes the hook information to the next hook procedure in the current hook chain.
Ni mu!....
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 02-06-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué se supone que entienda con lo que citas? ¿Que sí se puede y se desprende de lo ahí dicho? Porque yo sólo veo que puedo ser eslabón de la cadena pero no cómo seguirla.

Unos mugidos más por favor

// Saludos
Responder Con Cita
  #7  
Antiguo 02-06-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
¿Qué se supone que entienda con lo que citas? ¿Que sí se puede y se desprende de lo ahí dicho? Porque yo sólo veo que puedo ser eslabón de la cadena pero no cómo seguirla.
CallNextHookEx!! (Segundo mujido del mensaje anterior )
Cita:
Empezado por roman
Calling CallNextHookEx is optional. A hook procedure can call this function either before or after processing the hook information. If a hook procedure does not call CallNextHookEx, Windows does not call the hook procedures installed before the current hook procedure was installed.
¿Lo tengo que traducir?.... Simplemente el llamado de CallNextHookEx es opcional, puedes llamarlo antes o después de procesar la información del hook. Si el procedimiento del Hook no llama a CallNextHookEx, Windows no llamará los hooks instalados antes de que nuestro hook haya sido instalado.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 02-06-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Perdón, ¡qué mugidos! ¡Me han dolido los oídos! Lo que pasa es que al leer:

si sigues la cadena de hooks

yo entendí seguir en el sentido de recorrer y veo que tú lo usas en el sentido de no interrumpir.

// Saludos
Responder Con Cita
  #9  
Antiguo 02-06-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
yo entendí seguir en el sentido de recorrer y veo que tú lo usas en el sentido de no interrumpir
Ahora te responde en Mexicano: "Así pos si!"
Yo me refería a no interrumpir la cadena. Si no deduzco mas pensaste, culpa de mi mala forma de expresarme, que se podría leer la cadena de hooks y ver el puntero del WndProc al final de la cadena... ¿Estoy en lo cierto?... Mil disculpas!

PD: Mu!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #10  
Antiguo 02-06-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pos si! Lo del CallNextHook ya lo sabía. Hasta eso que sí leo la ayuda de vez en vez.

// Muuuuuu
Responder Con Cita
  #11  
Antiguo 06-06-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 18
jorgito.crazy Va por buen camino
Smile

Ahora si, gracias federico, si puedes darme una mano con esto:

keybd_event('8',0,0...

Esto envia BackSpace.

Como más puedo mandar, por ejemplo, como mando TAB.

Gracias, un saludo.
Responder Con Cita
  #12  
Antiguo 08-06-2006
Acanol Acanol is offline
Miembro
 
Registrado: abr 2006
Ubicación: Elche
Posts: 75
Poder: 18
Acanol Va por buen camino
esto?

No se si es esto lo que necesitas...

keybd_event(9,0,0,0); // TAB presionado
keybd_event(9,0,2,0); // Soltar el Tab

Saludos.
__________________
{Saludos.}

//Todos los dias se aprende algo nuevo, por que no enseñar nosotros?
Responder Con Cita
  #13  
Antiguo 08-06-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 18
jorgito.crazy Va por buen camino
Wink Si

SI, esto me sirve, pero no hay algna documentación o cualquier cosa que tenga todos los números asociados a cada tecla del teclado(si todas son números), Yo hasta ahora conosco solo unos cuantos:

13 ENTER
8 BACKSPACE
.
.
.
Responder Con Cita
  #14  
Antiguo 08-06-2006
Sick boy Sick boy is offline
Miembro
 
Registrado: may 2003
Ubicación: Cantabria
Posts: 245
Poder: 21
Sick boy Va por buen camino
Supongo que la documentacion que necesitas es el CODIGO ASCII

Una simple busqueda en el google te lleva a esto www.asciitable.com/

Saludos
Responder Con Cita
  #15  
Antiguo 08-06-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 18
jorgito.crazy Va por buen camino
Talking Gracias

Ya tengo todo lo que necesito, Muchas gracias Federico y Sick boy.
No se ustedes que creen, pero Argentina será el ganador de este mudial.
Un Saludo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar documento usando el fax de Windows epuigdef Varios 5 17-10-2008 09:55:27
como desactivar la tecla windows??? seba_cipo Varios 5 11-11-2005 16:54:25
Quisiera Anular la Tecla Windows... DarkDrakon API de Windows 1 02-06-2005 02:43:04
Quiero enviar mensajes a Windows champy API de Windows 3 25-11-2003 01:32:15
Inactivar tecla de windows diegofhernando Varios 1 26-06-2003 23:44:04


La franja horaria es GMT +2. Ahora son las 21:45:55.


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
Copyright 1996-2007 Club Delphi