Ver Mensaje Individual
  #7
Antiguo 21 de diciembre de 2015, 19:40
Galileo
Forero Junior
Última Actividad 22.01.2021 11:39
Posts Posts: 38
Likes enviados Enviados: 20
Likes recibidos Recibidos: 41

Citación del post de Adrianeloy Ver Mensaje
Alguien tendrá el codigo contrario, o sea para leer el contenido del portapapeles texto plano (o volcarlo a una variable de cobol)?
Ya se que es mucho pedir, pero...
A alguien le habrá quedado el codigo de la llamada para PowerCobol V.3?
No me cabe duda de que se debe poder hacer también en PC3. La cosa está en saber cómo se obtiene el identificador (el handle) del componente. Tal vez sea realizando SETFOCUS al control y luego invocando una función del API de Windows que nos devuelva dicho handle.

El caso es que he encontrado un sistema más sencillo que, eso sí, requiere de un programa externo. Se trata de una pequeñísima utilidad que envía pulsaciones simuladas al sistema operativo (concretamente Sendkeys, en http://orlando.mvps.org/SendKeysMore.asp). Es gratuito y fácil de utilizar. Aquí te pongo un ejemplo:

Código COBOL:
  1.     CALL SETFOCUS OF EDIT1.        
  2.     CALL EXECAPL OF SHEET1 USING "SendKeys.exe 0 0 ""Prueba de copy y paste"" ""^C"" ".

Los dos ceros indican, el primero, el número de segundos (o fracción) que ha de esperar antes de enviar la pulsación simulada (una vez que la ventana del programa indicado en el tercer parámetro esté ya con el foco); el segundo, el número de segundos que ha de esperar hasta desistir, si no encuentra la ventana. En el ejemplo, "Prueba de copy y paste" es el título de la ventana de mi programa PC3, y "^C" es la combinación de teclas que se envía al sistema operativo (en este caso, CTRL-C, es decir, el atajo que se usa para copiar al portapapeles).

Lo bueno es que simula cualquier combinación de teclas con cualquier programa. Lo veo muy práctico.

Y un quebradero de cabeza que te quitas.
Galileo is offline   Responder Con Cita