ayuda, copiar texto que no se puede copiar ?

Iniciado por rembolso, 18 Mayo 2018, 04:35 AM

0 Miembros y 1 Visitante están viendo este tema.

rembolso

buenos dias o buenas noches. a lo mejor es confuso el titulo.
se me plantea la siguiente situación, vieron que por ahi hay webs , o software o procesadores de texto o lo que sea , donde se encuentra una porción de texto lo cual se puede seleccionar pero no copiar( ni con control c ni con clic derecho copiar), alguien me puede ayudar o facilitar algún ejemplo de código para copiar ese texto al Clipboard
muchas gracias por leer y disculpen las molestias.

engel lex

puedes verlo en el codigo fuente o puedes desactivar javascript
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

rembolso

"puedes verlo en el codigo fuente o puedes desactivar javascript"
i pero en ese es el caso de las webs .
en caso de procesadores de texto, o en otros software no se puede, solo el texto se puede seleccionar pero no copiar.

Eleкtro

#3
Cita de: rembolso en 19 Mayo 2018, 19:01 PMen caso de procesadores de texto, o en otros software no se puede, solo el texto se puede seleccionar pero no copiar.

Debes enumerar las ventanas de la aplicación (con la función EnumWindows / EnumChildWindows / EnumThreadWindows) para identificar la ventana que contiene el texto que desees copiar, con ello obienes el controlador de dicha ventana (o window handle), y entonces le puedes enviar el mensaje de ventana WM_GETTEXT mediante las funciones de mensajería de ventanas ( SendMessage, SendMessageTimeout o PostMessege) para obtener el texto, y por último utilizar la función (OpenClipboard +)SetClipboardData para establecer el texto del portapapeles de Windows.

Podrías reemplazar los dos últimos pasos enviando diréctamente el mensaje de ventana WM_COPY (en lugar de WM_GETTEXT + llamar a la función SetClipboardData).

Saludos.