https://foro.gambas-es.org/viewtopic.php?f=1&t=7990
-----------------------------------
Shell
Sabado, 25 Abril 2020, 11:07

Portapapeles
-----------------------------------
Buenas!.

¿ No se les ha ocurrido alguna vez que siempre tengamos un solo portapapeles ?.
¿ Cómo es que nunca se pensó en tener más de uno ?.

[url=https://www.genbeta.com/herramientas/11-apps-y-extensiones-para-darle-superpoderes-al-portapapeles]11 apps y extensiones para darle superpoderes al Portapapeles

Saludos


-----------------------------------
vuott
Sabado, 25 Abril 2020, 17:15

Re: Portapapeles
-----------------------------------
Perdóname, Consul, no entiendo qué tiene esto que ver con la programación de Gambas.    :?

[quick]https://media.giphy.com/media/3o7buftywykKkl7ZRu/giphy.gif[/quick]


-----------------------------------
Shell
Sabado, 25 Abril 2020, 19:05

Re: Portapapeles
-----------------------------------
Vuott:

Pues si. Pero recuerda que en Gambas tenemos la clase Clipboard. 

De principio quería jugar con esta y los eventos de teclado. :-)

Algo como crear una lista de selecciones  y copias del portapapeles y luego seleccionar en esta lista la selección que me interese pegar.
Claro que esto no se puede hacer fuera de un control de Gambas que soporte la clase key. Pertenece a un evento de teclado de un control.
Y ademas tiene que tener el foco.

[code linenumbers=false syntax=gambas]
 If Key.Code = key["c"] And If Key.Control Then lstBoxCopias.Add(Clipboard.Paste("text/plain"))
[/code]

Creo que tu llegaste a hacer un keylogger simple con Gambas pero no usabas la interfaz gráfica.
En realidad lo que se debe ver es el teclado... :roll: 

Saludos


-----------------------------------
jsbsan
Sabado, 25 Abril 2020, 19:07

Re: Portapapeles
-----------------------------------
Shell:

Mirate esta página con unos cuantos gestores de portapapeles para linux:

https://www.tecmint.com/best-clipboard-managers-for-linux/


-----------------------------------
Shell
Sabado, 25 Abril 2020, 19:10

Re: Portapapeles
-----------------------------------
Gracias Julio. Siempre quedará interesante algo hecho en Gambas.  :roll:  :-)

La referencia al código de Vuott con las teclas es:

https://foro.gambas-es.org/viewtopic.php?f=5&t=3780

Saludos


-----------------------------------
Shell
Sabado, 25 Abril 2020, 19:25

Re: Portapapeles
-----------------------------------
Me voy al lugar que voy a seleccionar el texto, hago Ctrl-C, luego me vuelvo al formulario...y...

[code linenumbers=false syntax=gambas]
Public Sub Form_Enter()

  If Clipboard.HasChanged And Clipboard.Type = Clipboard.Text Then
    lstBoxCopias.Add(Clipboard.Paste("text/plain"))
  Endif

End
[/code]

 :mrorange:

Saludos


-----------------------------------
jsbsan
Domingo, 26 Abril 2020, 09:46

Re: Portapapeles
-----------------------------------
Shell:

Con tu solución (que es interesante), tiene el inconveniente que tienes que entrar "forzosamente" al formulario...

¿pero como se haria solo con pulsar leclas sin tener que hacer nada más?.


-----------------------------------
Shell
Lunes, 27 Abril 2020, 12:25

Re: Portapapeles
-----------------------------------
Hola Julio!.

[quote]
Con tu solución (que es interesante), tiene el inconveniente que tienes que entrar "forzosamente" al formulario...
[/quote]

Aunque estaba usando un código que detecta si ha cambiado el portapapeles, si el contenido es texto,
que hasta ahí es correcto. Te diré que estaba bromeando con la solución de tener que entrar en el formulario.  :wink: 
Por eso la cara sonriente  y colorada de la risa. Vamos que es una chapuza tener que ir al formulario, al menos
yo lo veo así. :-)

Visto eso, Julio. Se podía hacer un drag and drop de una selección, llevar su contenido y soltarlo en el
control que queramos. Pero he observado que hay veces que puede darse el caso de que seleccionando 
por ejemplo la url del navegador de principio a fin. No siempre se muestra el cambio del icono a modo arrastrar. 
Puede haber momentos, por alguna condición que no se muestra ese cambio. 
Para mi que tiene que ver cuando distribuimos las ventanas de las aplicaciones automáticamente a cada lado.
(Hacen efectos raros esos anclajes)

[quote]
¿pero como se haria solo con pulsar leclas sin tener que hacer nada más?.
[/quote]

Ese es el problema.

En el ejemplo de Vuott sobre detectar las teclas desde una interfaz no gráfica, necesita tener
acceso a lugares que son propios del administrador y tiene que usar la contraseña de este
para cambiar los permisos del archivo en concreto.

Te diré que usando el lenguaje Python (quiero ser imparcial y no hacer propaganda) ,encontré una librería que sin necesidad
de tener que usar la contraseña de administrador, es capaz de "espiar", el teclado u otro dispositivos. Vale tanto para Linux como para Windows.


Entonces, ¿ que hace un software para poder saltarse esos "permisos" ? . (Intermediarios). Existirán otras formas. 
¿ Te acuerdas de los "Listener" de Java ?. ( De alguna forma los relacionaba con los observadores ). 
Pues esa librería de Python usa una clase que es un Listener. No tenía ni idea que Python usase
este tipo de clases.

Siempre tengamos en cuenta [b]que no nos mueve[/b] "el hacer daño o aprovecharse de otra persona",
que lo hacemos por motivos de aprendizaje y demostrar algo que es posible.

Este es el nombre de la librería para Python:

[quote]
pynput (1.6.8)      - Monitor and control user input devices
[/quote]

Referencia:

[quote]
Name: pynput
Version: 1.6.8
Summary: Monitor and control user input devices
Home-page: https://github.com/moses-palmer/pynput
Author: Moses Palmér
Author-email: moses.palmer@gmail.com
License: LGPLv3
Location:....
Requires: python-xlib, six
Required-by: 
[/quote]

Dependencias:
[quote]
Name: python-xlib
Version: 0.27
Summary: Python X Library
Home-page: https://github.com/python-xlib/python-xlib
Author: Peter Liljenberg
Author-email: petli@ctrl-c.liu.se
License: LGPLv2+
Location: ....
Requires: six
Required-by: pynput
[/quote]
[quote]
Name: six
Version: 1.13.0
Summary: Python 2 and 3 compatibility utilities
Home-page: https://github.com/benjaminp/six
Author: Benjamin Peterson
Author-email: benjamin@python.org
License: MIT
Location:.......
Requires: 
Required-by: python-xlib, pynput, asttokens, astroid, configobj
[/quote]

Si Python lo hace de alguna forma, no dudo que Gambas pueda hacerlo.

¿ Subo el vídeo de como hacer un keylogger sencillo con está librería ?. ¿ No heriré la sensibilidad  de nadie ?. :roll: 
Quizás deba dejarlo correr y que cada uno busque esto...jejeje..al menos ya he prendido la mecha...

Aunque no deja de ser otro programa u otro software. Hay temas que los programadores  son inflexibles.
No todos vemos con buenos ojos la construcción de un virus o software que puede ser dañino en malas manos.

Una respuesta graciosa que encontré en un foro hablando de esto para Gambas. 
En el que el moderador mandaba un poco lejos a un usuario.  :roll: 

[url=https://forum.cheatengine.org/viewtopic.php?t=515186]Respuesta del moderador

Aunque me he salido de la temática, en este caso se necesita saber que teclas se han pulsado
para controlar "Ctrl-c".

Saludos


