FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ya vamos avanzando, falta que sea latinoamericano
ya estoy logrando algo con el notepad, gracias a ustedes amigos foristas
Procedure TFrm_Teclado.SendKeys(Keys: String); Var manejador : THandle; h: HWND; Begin h := FindWindow('Notepad', nil); if h = 0 then ShowMessage('No se encontro la Aplicacion') else begin SetForegroundWindow(h); If Keys = 'Enter' then PostKeyEx32(VK_RETURN, [], False) Else If Keys = 'Mayus' then PostKeyEx32(VK_CAPITAL, [], False) Else If Keys = 'Tab' then PostKeyEx32(VK_TAB, [], False) Else If Keys = 'Back' then PostKeyEx32(VK_BACK, [], False) Else If Keys = 'Deci' then PostKeyEx32(VK_DECIMAL, [], False) Else If Keys = 'Guion' then PostKeyEx32(VK_SUBTRACT, [], False) Else If Keys = 'Ñ' then PostKeyEx32(164, [], False) Else PostKeyEx32(Ord(elcorrecto(Keys)), [], False); // simulamos la presión de la tecla Enviada End end; ya envia los teclazos pulsados al notepad pero con el problema de que no he podido enviar ni la eñe ni la coma en el codigo anterior intente hasta enviar el ascii pero no funciono este codigo lo encontre en otros hilos del foro y es el que estoy usando: procedure TFrm_Teclado.PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean); {************************************************************ * Procedure PostKeyEx32 * * Parameters: * key : virtual keycode of the key to send. For printable * keys this is simply the ANSI code (Ord(character)). * shift : state of the modifier keys. This is a set, so you * can set several of these keys (shift, control, alt, * mouse buttons) in tandem. The TShiftState type is * declared in the Classes Unit. * specialkey: normally this should be False. Set it to True to * specify a key on the numeric keypad, for example. * Description: * Uses keybd_event to manufacture a series of key events matching * the passed parameters. The events go to the control with focus. * Note that for characters key is always the upper-case version of * the character. Sending without any modifier keys will result in * a lower-case character, sending it with [ssShift] will result * in an upper-case character! *Created: 17.7.98 by P. Below ************************************************************} 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; i: Integer; Begin For i := 1 To 3 Do Begin If shiftkeys[i].shift In bShift Then keybd_event( shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0); End; { For } 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 i := 3 DownTo 1 Do Begin If shiftkeys[i].shift In bShift Then keybd_event( shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0); End; { For } End; { PostKeyEx32 } alguna idea de como poder mandar la coma, la Ñ y demas caracteres de teclado latinoamericano? |
#2
|
||||
|
||||
Supongo que no te sirve el teclado virtual de windows?
Se me ocurre algo, pero aqui no tengo una Pc para probarlo: create una ventana con el tecladito, pero que esta ventana no pueda recibir foco, entonces solo tienes que usar la funcion ketbd_event que enviara la tecla a donde se encuentre el foco. PD: como curiosidad este mensaje lo escribi desde un teclado touch ;P Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Con tu permiso federicorl pongo el código planteado en formato más legible
Comentarte que hay un par de teclados virtuales que si los añades al form que usas te funcionan perfectamente con los diferentes componentes de dicho form (memos, edits, etc) pero no he proado usandolos de un form a otro.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#4
|
|||
|
|||
cuales teclados virtuales
cuales son los teclados virtuales que mencionas, como puedo probarlos?
gracias Saludos |
#5
|
||||
|
||||
te recomiendo que busques en Torry o en delphipages, uno se que se llama virtualkeyboard muy vistoso, el otro no recuerdo su nombre, pero me gusta más, en casa se que los tengo y ambos que te comento son free, lo que no sabria decirte es hasta que versión de delphi son validos, buscalos, si no lo encuentras, pon otro mensaje y te digo como conseguirlos, o los pongo para que los bajes.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#6
|
||||
|
||||
Hola Jose Luis Garcí, mira me interesa el virtual Keyboard, lo estuve buscando y no lo encuentro, por eso pregunto, existe la posibilidad de que puedas ponerlo aqui para bajarlo, digo, si no es ninguna molestia.
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#7
|
||||
|
||||
Los dos componentes
Mando los dos teclados virtual, comentar que son free ambos y que el virtual queyboard es recomendable ver el ejemplo, en el otro no hay ejemplo pero es mucho más intuitivo de manejar, y permite 4 tipos de teclado, pero no soporta skins, probados en delphi 6 y en el trial de rad studio 2007 y funcionan.
el funcionamiento de keyboard es mas o meno de la siguiente manera
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" Última edición por José Luis Garcí fecha: 14-12-2007 a las 21:16:37. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TouchScreen con delphi!! | bernabe | Varios | 3 | 27-07-2007 18:24:03 |
Pantalla Touchscreen | chavetaz | Varios | 2 | 15-05-2007 20:27:04 |
3D Desktop TouchScreen | Onti | La Taberna | 2 | 06-04-2007 12:11:34 |
USB Teclado en Red Hat 9 | nicocer | Linux | 0 | 05-07-2004 22:04:56 |
delphi y touchscreen | cesarjbf | Varios | 3 | 30-03-2004 15:18:58 |
|