AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones varias de Windows
  • ¿Cómo especificar las pulsaciones de teclas o las acciones del ratón a realizar?
  • Varios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Simula las pulsaciones de teclas y las acciones del ratón. La función SendKey puede enviar pulsaciones de teclas o movimientos del ratón a cualquier aplicación que se desee ejecutar en un entorno Windows.
Atención: En Windows Vista y versiones superiores, si el mecanismo de la UAC está activado, la función SendKey no funciona correctamente: tiene la posibilidad de enviar claves al Process actual pero para enviar claves a otro Process, los derechos de aplicación deben ser aumentados (con un manifiesto por ejemplo).
Ejemplo
EXTERN "KeyConst.wl"
i is int
// Runs the Calculator application
ExeRun("Calc.exe", exeActive)
// Wait for the calculator to be loaded
Multitask(50)
// Defines the count loop
FOR i = 1 TO 100
// Send the keys to the Calculator application
SendKey(NumToString(i) + "{+}")
END
// Reads the final total
SendKey("=")

// Wait
Multitask(100)

// Sends Alt+F4 to close the Calculator application
SendKey("%{F4}")
// Simulates a right mouse click on a table column
// A table column has no handle so we give it focus to compensate
SetFocus(TABLE_CustomerTable.COL_CustomerName)
// Send the right click
SendKey("{RIGHTBTN,1,1}", TABLE_CustomerTable.COL_CustomerName)
// Expand the "&File" menu of a main window
SendKey("%&f")
// Expand the "&File .. &New" menu of main window
SendKey("%&fn")
Sintaxis

Enviando pulsaciones de teclas o acciones del ratón a una ventana o a un control identificado por su manipular Ocultar los detalles

<Result> = SendKey(<Key or mouse> [, <Handle of window or control>])
<Result>: booleano
  • True si las pulsaciones de teclas se enviaron correctamente,
  • False en caso contrario.
<Key or mouse>: Cadena de caracteres
Acciones del ratón o pulsaciones de teclas para ejecutar. Cada tecla está representada por uno o más caracteres (ver las notas).
<Handle of window or control>: Entero opcional
Manejador de la ventana (o control) a la que se enviarán las pulsaciones. Si no se especifica este parámetro, las pulsaciones de teclas se envían a la ventana actual.
La manipular de una ventana o control es devuelta por Handle o SysWinHandle.

Enviando pulsaciones de teclas o acciones del ratón a una ventana o a un control identificado por su nombre Ocultar los detalles

<Result> = SendKey(<Key or mouse> [, <Name of window or control>])
<Result>: booleano
  • True si las pulsaciones de teclas se enviaron correctamente,
  • False en caso contrario.
<Key or mouse>: Cadena de caracteres
Acciones del ratón o pulsaciones de teclas para ejecutar. Cada tecla está representada por uno o más caracteres (ver las notas).
<Name of window or control>: Cadena de caracteres opcional
Nombre o alias de la ventana (o control) a la que deben enviarse las pulsaciones de teclas. Si no se especifica este parámetro, las pulsaciones de teclas se envían a la ventana actual..
Observaciones

¿Cómo especificar las pulsaciones de teclas o las acciones del ratón a realizar?

El parámetro <Tecla o ratón> corresponde a las acciones del ratón o a las teclas utilizadas para ejecutar el atajo. Cada tecla está representada por uno o más caracteres. No es necesario especificar "Ctrl-Alt" que se añade automáticamente. Ninguna tecla de atajo está especificada por Default.
Para usar un solo carácter de tecladodebe utilizar el propio carácter. Por ejemplo, para representar la letra A, asigne el valor "A" a <Tecla o ratón>. Para usar un set de caracteres, use el set de caracteres directamente ("ADB").
Atención: La función asigna un significado especial a los siguientes caracteres:
  • más (+),
  • inserción (^),
  • porcentaje (%),
  • paréntesis ( ).
Para utilizar uno de estos caracteres, el carácter debe estar encerrado entre corchetes.. Por ejemplo, para usar el signo más (+), escriba {+}.. Para utilizar corchetes, utilice los caracteres {{} y {}}.
Para utilizar caracteres especialesse requieren códigos específicos para la identificación:
  • los caracteres sin acción en la pantalla (por ejemplo, la tecla Intro)
  • los caracteres correspondientes a una acción (las teclas de función, por ejemplo).
Debe utilizar los siguientes códigos:
ClavecodificarClavecodificar
RETROCESO{RA}PAUSA{PAUSA}
BLOQUEO DE CÁPSULA{VERRMAJ}SUPR{SUPPR}
ABAJO{ABAJO}END{END}
INTRO{ENTRADA}ESC{ECHAP}
AYUDA{AYUDA}INICIO{INICIO}
INSERT{INS}LEFT{LEFT}
NUMLOCK{NUMLOCK}PGDN{PGDN}
PGUP{PGUP}IMPR. PANTALLA{PRTSC}
RIGHT{RIGHT}BLOQUEO DE DESPLAZAMIENTO{SCROLLLLOCK}
TAB{TAB}ARRIBA{TOP}
F1{F1}F2{F2}
F3{F3}F4{F4}
F5{F5}F6{F6}
F7{F7}F8{F8}
F9{Q9}F10{F10}
F11{F11}F12{F12}
F13{F13}F14{F14}
F15{F15}F16{F16}
+ en el teclado numérico{NUM+}-en el teclado numérico{NUM-}

Para especificar una combinación de teclas con Mayúsculas, Ctrl o Altel código de la clave estándar debe ir precedido de uno o más códigos elegidos entre los siguientes:
Clavecodificar
SHIFT+
Ctrl^
ALT%

Para especificar que las teclas Mayúsculas, Ctrl y/o Alt deben mantenerse pulsadas mientras se pulsa otra tecla: por ejemplo, para que la tecla Shift se mantenga pulsada mientras se pulsa la tecla E, utilice "+e".
Para especificar que se debe repetir una clavedebe utilizar una expresión como {<Key> <Number>}.. Observación: se requiere un espacio entre <Key> y <Number>.. Por ejemplo:
  • {Izquierda 42} significa que la tecla Izquierda debe ser presionada 42 veces,
  • {h 10} significa que la tecla h debe ser presionada 10 veces.
Para especificar las operaciones realizadas con el ratóndebe utilizar los siguientes códigos:
Operacióncodificar
Haga clic con el botón izquierdo del ratón{LEFTBTN[,x[,y]]}
Haga doble clic con el botón izquierdo del ratón{LEFTBTN2[,x[,y]]}
Botón izquierdo del ratón pulsado{LEFTBTN+[,x[,y]]}
Botón izquierdo del ratón arriba{LEFTBTN-[,x[,y]]}
Haga clic con el botón derecho del ratón{DERECHOBTN[,x[,y]]}
Haga doble clic con el botón derecho del ratón{DERECHOBTN2[,x[,y]]}
Botón derecho del ratón pulsado{DERECHOBTN+[,x[,y]]}
Botón derecho del ratón arriba{DERECHOBTN-[,x[,y]]}
Haga clic con el botón central del ratón{MIDDLEBTN[,x[,y]]}
Doble clic con el botón central del ratón{MIDDLEBTN2[,x[,y]]}
Botón central del ratón pulsado{MIDDLEBTN+[,x[,y]]}
Botón central del ratón arriba{MIDDLEBTN-[,x[,y]]}
Movimientos del ratón{RATÓN[,x[,y]]}

x e y son, respectivamente, las coordenadas X e Y en relación con el área del cliente de la ventana de destino. Si no se especifica x o y, el valor utilizado es 0.

Varios

  • La función SendKey no puede enviar la tecla Impr Pant. a una solicitud.
  • Java La función SendKey puede enviar la tecla Impr Pant. a una aplicación.
  • En Windows Vista (y versiones posteriores), la función SendKey no funciona correctamente si el mecanismo del UAC está activado.
  • La función SendKey tiene en cuenta el teclado actual (modificado con la función ChangeKeyboard): los caracteres enviados dependen del teclado utilizado.
  • SendKey no funciona en una sesión TSE no interactiva.
Componente: wd290std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Capturando a tela e salvando no banco de dados
Global init project

// Include the "KeyConst.wl" file to manage the keyboard keys
EXTERN "KeyConst.WL"

In Button

Sendkey(“{PTRSC}”)

Clipboard(img_tela_capturada)

Tabela.screen = img_tela_capturada

Tabela.datahora = datesys()+timesys()

Hadd(Tabela)

Compile e teste esses comandos

Vai pressionar a tecla printscreen e salvar no banco a imagem

Precisa que seja compilado para funcionar
Boller
23 08 2023

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local