FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cuantas HOTKEY se pueden registrar simultaneamente?
Buenos Dias amigos....
Estoy intentando hacer un programa para que registre todas las teclas que se digitan en un PC en las diferentes aplicaciones ( Word, Excel, Internet ....todas), y vi en un hilo que utilizan Cita:
Es posible con esta funcion? o debo buscar otra? Gracias por su respuesta! |
#2
|
||||
|
||||
Creo que te estás confundiendo.
Lo que tu pretendes (por lo que he entendido) es guardar constancia de todo lo que se teclea y el código (API) a la que heces referencia lo que hace es "Registrar una combinación de teclas", lo que quiere decir que esa combinación es accesible desde cualquier programa que se ejecute en ese sistema de forma global.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Como puede hacerse entonces?
Hola Neftali!
Como puedo guardar constancia de todo lo que se teclea entonces? teniendo mi aplicación en background? Es posible? Gracias |
#4
|
||||
|
||||
RegisterHotKey está pensado para combinaciones de teclas... pero nada te impide realizarlo con la tecla A, B, C, D.
Es simplemente un gancho a la tecla/combinación que sea. Y sí, mientras tu aplicación esté funcionando recibirá la tecla pulsada por el usuario, ya esté en Word, Excel, Bloc de notas, etc. De hecho la recibe antes que las demás aplicaciones, por tanto, tú en tu keylogger deberás permitir el paso de la tecla hacia las demás aplicaciones. Se permiten 49.151 teclas registradas, ya que segun la ayuda el rango es de: Cita:
Yo uso ganchos de este tipo para: Apagar (ctrl+F11), reiniciar(ctrl+ F10), forzar reiniciado(ctrl+alt+F10, forzar apagar(ctrl+alt+F11), Apagar los monitores(F4), Abrir mi buscador de programas(F10) . Hasta ahora no me ha dado problemas. He hecho la prueba con la tecla A, y tambien funciona. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Gracias Neftali...
Gracias otra vez...pero se pueden registrar varias hotkeys?
es decir que mi programa responda a A, B,C, D,E,F todas las que se tecleen... En el ejemplo anterior solo responde a Ctrl+O, y he intentado registrar por ejemplo la O tambien y no funciona....es decir que responda a cada tecla..... porque no funciona? lo hago asi: Cita:
Gracias si puedes ayedarme... |
#6
|
|||
|
|||
Gracias Lepe..
Pero como se puede decir que la tecla es normal?
que no tiene no CTRL ni SHIFT ni nada? Gracias |
#7
|
|||
|
|||
se me olvidaba...
Donde puedo conseguir los números equivalentes a la tecla?
por ejemplo la O es 79, pero las otras cuales son? Es el codigo ASCII? Gracias! |
#8
|
||||
|
||||
Le daré las gracias a Neftali de tu parte....
Lo que recibes por msg.WParam es el GlobalAtom que has definido, no la tecla ni los modificadores, (al menos en delphi es así, garantizado). Yo haciendo caso omiso a la ayuda de delphi hago lo siguiente:
Digo que hago caso omiso a la ayuda, porque allí dice que use GlobalAtom, obviamente si hay otras aplicaciones que estan usando ganchos, podría ser que 0, 1 y 2 estuviesen ya cogidos y no me deje registrar la tecla. Obviamente tu código está mejor, porque usas GlobalAtom que te garantiza un número que no existe en el sistema, pero claro, tienes que guardar el GlobalAtom para poder relacionarlo despues en el procedure AppMessage. Yo probé pasándoles números enteros, 0, 1, 2 y funcionó. Eso sí deben ser números que no se repitan, ya no recuerdo si deben ser consecutivos o no.... Para el tema de modificadores ctrl, alt y shift, va así: shift = 4 ctrl = 2 Alt = 1 De tal forma que si quieres "ctrl + alt" pues suma sus valores y pones un 3. Esto equivale a MOD_CONTROL + MOD_ALT Si no quieres parámetros pon un cero. Es raro que te funcione con Ctrl + O, porque segun explicas... no veo que esté bien implementado, hazlo de la forma que te comento y nos cuentass Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
||||
|
||||
Si son los códigos ascii, con el mapa de caracteres de windows te da el número en hexadecimal, usas la calculadora de windows y lo pasas a decimal.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#10
|
||||
|
||||
Perdón, no son codigo ascii sino codigos virtuales, en la ayuda de C++ escribe "virtual key codes" y verás un listado.
Es casi lo mismo... pero hay códigos especiales. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
||||
|
||||
La listita completa directamente de microsoft Especilamente utiles las teclas de mute, volumen ... etc que no vienen en otros listados y que si estan incluidos en este.
Código:
VK_LBUTTON 01 Left mouse button VK_RBUTTON 02 Right mouse button VK_CANCEL 03 Control-break processing VK_MBUTTON 04 Middle mouse button (three-button mouse) VK_XBUTTON1 05 Windows 2000/XP: X1 mouse button VK_XBUTTON2 06 Windows 2000/XP: X2 mouse button - 07 Undefined VK_BACK 08 BACKSPACE key VK_TAB 09 TAB key - 0A-0B Reserved VK_CLEAR 0C CLEAR key VK_RETURN 0D ENTER key - 0E-0F Undefined VK_SHIFT 10 SHIFT key VK_CONTROL 11 CTRL key VK_MENU 12 ALT key VK_PAUSE 13 PAUSE key VK_CAPITAL 14 CAPS LOCK key VK_KANA 15 IME Kana mode VK_HANGUEL 15 IME Hanguel mode (maintained for compatibility; use VK_HANGUL) VK_HANGUL 15 IME Hangul mode - 16 Undefined VK_JUNJA 17 IME Junja mode VK_FINAL 18 IME final mode VK_HANJA 19 IME Hanja mode VK_KANJI 19 IME Kanji mode - 1A Undefined VK_ESCAPE 1B ESC key VK_CONVERT 1C IME convert (Reserved for Kanji systems) VK_NONCONVERT 1D IME nonconvert (Reserved for Kanji systems) VK_ACCEPT 1E IME accept (Reserved for Kanji systems) VK_MODECHANGE 1F IME mode change request (Reserved for Kanji systems) VK_SPACE 20 SPACEBAR VK_PRIOR 21 PAGE UP key VK_NEXT 22 PAGE DOWN key VK_END 23 END key VK_HOME 24 HOME key VK_LEFT 25 LEFT ARROW key VK_UP 26 UP ARROW key VK_RIGHT 27 RIGHT ARROW key VK_DOWN 28 DOWN ARROW key VK_SELECT 29 SELECT key VK_PRINT 2A PRINT key VK_EXECUTE 2B EXECUTE key VK_SNAPSHOT 2C PRINT SCREEN key for Windows 3.0 and later VK_INSERT 2D INS key VK_DELETE 2E DEL key VK_HELP 2F HELP key VK_0 30 0 key VK_1 31 1 key VK_2 32 2 key VK_3 33 3 key VK_4 34 4 key VK_5 35 5 key VK_6 36 6 key VK_7 37 7 key VK_8 38 8 key VK_9 39 9 key - 3A-40 Undefined VK_A 41 A key VK_B 42 B key VK_C 43 C key VK_D 44 D key VK_E 45 E key VK_F 46 F key VK_G 47 G key VK_H 48 H key VK_I 49 I key VK_J 4A J key VK_K 4B K key VK_L 4C L key VK_M 4D M key VK_N 4E N key VK_O 4F O key VK_P 50 P key VK_Q 51 Q key VK_R 52 R key VK_S 53 S key VK_T 54 T key VK_U 55 U key VK_V 56 V key VK_W 57 W key VK_X 58 X key VK_Y 59 Y key VK_Z 5A Z key VK_LWIN 5B Left Windows key (Microsoft Natural Keyboard) VK_RWIN 5C Right Windows key (Microsoft Natural Keyboard) VK_APPS 5D Applications key (Microsoft Natural Keyboard) - 5E Reserved VK_SLEEP 5F Computer Sleep key VK_NUMPAD0 60 Numeric keypad 0 key VK_NUMPAD1 61 Numeric keypad 1 key VK_NUMPAD2 62 Numeric keypad 2 key VK_NUMPAD3 63 Numeric keypad 3 key VK_NUMPAD4 64 Numeric keypad 4 key VK_NUMPAD5 65 Numeric keypad 5 key VK_NUMPAD6 66 Numeric keypad 6 key VK_NUMPAD7 67 Numeric keypad 7 key VK_NUMPAD8 68 Numeric keypad 8 key VK_NUMPAD9 69 Numeric keypad 9 key VK_MULTIPLY 6A Multiply key VK_ADD 6B Add key VK_SEPARATOR 6C Separator key VK_SUBTRACT 6D Subtract key VK_DECIMAL 6E Decimal key VK_DIVIDE 6F Divide key VK_F1 70 F1 key VK_F2 71 F2 key VK_F3 72 F3 key VK_F4 73 F4 key VK_F5 74 F5 key VK_F6 75 F6 key VK_F7 76 F7 key VK_F8 77 F8 key VK_F9 78 F9 key VK_F10 79 F10 key VK_F11 7A F11 key VK_F12 7B F12 key VK_F13 7C F13 key VK_F14 7D F14 key VK_F15 7E F15 key VK_F16 7F F16 key VK_F17 80H F17 key VK_F18 81H F18 key VK_F19 82H F19 key VK_F20 83H F20 key VK_F21 84H F21 key VK_F22 85H F22 key VK_F23 86H F23 key VK_F24 87H F24 key - 88-8F Unassigned VK_NUMLOCK 90 NUM LOCK key VK_SCROLL 91 SCROLL LOCK key VK_OEM_NEC_EQUAL 92 NEC PC-9800 kbd definitions: '=' key on numpad VK_OEM_FJ_JISHO 92 Fujitsu/OASYS kbd definitions: 'Dictionary' key VK_OEM_FJ_MASSHOU 93 Fujitsu/OASYS kbd definitions: 'Unregister word' key VK_OEM_FJ_TOUROKU 94 Fujitsu/OASYS kbd definitions: 'Register word' key VK_OEM_FJ_LOYA 95 Fujitsu/OASYS kbd definitions: 'Left OYAYUBI' key VK_OEM_FJ_ROYA 96 Fujitsu/OASYS kbd definitions: 'Right OYAYUBI' key - 97-9F Unassigned VK_LSHIFT A0 Left SHIFT key VK_RSHIFT A1 Right SHIFT key VK_LCONTROL A2 Left CONTROL key VK_RCONTROL A3 Right CONTROL key VK_LMENU A4 Left MENU key VK_RMENU A5 Right MENU key VK_BROWSER_BACK A6 Windows 2000/XP: Browser Back key VK_BROWSER_FORWARD A7 Windows 2000/XP: Browser Forward key VK_BROWSER_REFRESH A8 Windows 2000/XP: Browser Refresh key VK_BROWSER_STOP A9 Windows 2000/XP: Browser Stop key VK_BROWSER_SEARCH AA Windows 2000/XP: Browser Search key VK_BROWSER_FAVORITES AB Windows 2000/XP: Browser Favorites key VK_BROWSER_HOME AC Windows 2000/XP: Browser Start and Home key VK_VOLUME_MUTE AD Windows 2000/XP: Volume Mute key VK_VOLUME_DOWN AE Windows 2000/XP: Volume Down key VK_VOLUME_UP AF Windows 2000/XP: Volume Up key VK_MEDIA_NEXT_TRACK B0 Windows 2000/XP: Next Track key VK_MEDIA_PREV_TRACK B1 Windows 2000/XP: Previous Track key VK_MEDIA_STOP B2 Windows 2000/XP: Stop Media key VK_MEDIA_PLAY_PAUSE B3 Windows 2000/XP: Play/Pause Media key VK_LAUNCH_MAIL B4 Windows 2000/XP: Start Mail key VK_LAUNCH_MEDIA_SELECT B5 Windows 2000/XP: Select Media key VK_LAUNCH_APP1 B6 Windows 2000/XP: Start Application 1 key VK_LAUNCH_APP2 B7 Windows 2000/XP: Start Application 2 key - B8-B9 Reserved VK_OEM_1 BA Windows 2000/XP: For the US standard keyboard, the ';:' key VK_OEM_PLUS BB Windows 2000/XP: For any country/region, the '+' key VK_OEM_COMMA BC Windows 2000/XP: For any country/region, the ',' key VK_OEM_MINUS BD Windows 2000/XP: For any country/region, the '-' key VK_OEM_PERIOD BE Windows 2000/XP: For any country/region, the '.' key VK_OEM_2 BF Windows 2000/XP: For the US standard keyboard, the '/?' key VK_OEM_3 C0 Windows 2000/XP: For the US standard keyboard, the '`~' key - C1-D7 Reserved - D8-DA Unassigned VK_OEM_4 DB Windows 2000/XP: For the US standard keyboard, the '[{' key VK_OEM_5 DC Windows 2000/XP: For the US standard keyboard, the '\|' key VK_OEM_6 DD Windows 2000/XP: For the US standard keyboard, the ']}' key VK_OEM_7 DE Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key VK_OEM_8 DF - E0 Reserved E1 OEM specific VK_OEM_102 E2 Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard - E3-E4 OEM specific VK_PROCESSKEY E5 Windows 95/98, Windows NT 4.0, Windows 2000/XP: IME PROCESS key - E6 OEM specific VK_PACKET E7 Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT , SendInput , WM_KEYDOWN , and WM_KEYUP - E8 Unassigned VK_OEM_RESET E9 Only used by Nokia. VK_OEM_JUMP EA Only used by Nokia. VK_OEM_PA1 EB Only used by Nokia. VK_OEM_PA2 EC Only used by Nokia. VK_OEM_PA3 ED Only used by Nokia. VK_OEM_WSCTRL EE Only used by Nokia. VK_OEM_CUSEL EF Only used by Nokia. VK_OEM_ATTN F0 Only used by Nokia. VK_OEM_FINNISH F1 Only used by Nokia. VK_OEM_COPY F2 Only used by Nokia. VK_OEM_AUTO F3 Only used by Nokia. VK_OEM_ENLW F4 Only used by Nokia. VK_OEM_BACKTAB F5 Only used by Nokia. VK_ATTN F6 Attn key VK_CRSEL F7 CrSel key VK_EXSEL F8 ExSel key VK_EREOF F9 Erase EOF key VK_PLAY FA Play key VK_ZOOM FB Zoom key VK_NONAME FC Reserved for future use. VK_PA1 FD PA1 key VK_OEM_CLEAR FE Clear key FF Multimedia keys. See ScanCode keys. |
#12
|
|||
|
|||
Funciona pero...
Hola!
Otra vez soy yo... funciona pero no me deja escribir en la otra aplicacion..... es decir, si escribo barra espaciadora en word...no me la deja escribir... me bloquea la tecla.... como evito eso?? Gracias! |
#13
|
|||
|
|||
Cita:
es que se queda bloqueada y no pasa a la aplicacion..... como se puede hacer esto?? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
capturar el video de dos camaras simultaneamente? | Carlos Arevalo | Varios | 1 | 06-04-2006 01:49:07 |
Tmessage Hotkey hacia aplicacion externa | vtdeleon | OOP | 4 | 24-09-2005 17:23:25 |
capturar hotkey | cahosoft | Varios | 2 | 31-01-2005 17:17:04 |
Cuantas conexiones de red??? | Nasio | Varios | 1 | 31-05-2004 12:05:06 |
Actualizar simultaneamente oracle-mysql | Igna | Oracle | 3 | 23-02-2004 18:36:59 |
|