El contenido del portapapeles se borra automáticamente

10

Mi portapapeles se borra automáticamente de vez en cuando.

Por ejemplo:
copio algo de texto usando Ctrl + C, y luego lo pego en alguna parte. Y cuando trato de pegarlo de nuevo, no pasa nada. Necesito copiarlo una vez más.

Esto sucede de manera irregular, a veces puedo pegar el texto muchas veces, a veces ni una sola vez.

Soy desarrollador, así que copio y pego muy a menudo (...), pero esto es realmente molesto.

¿Cómo puedo descubrir qué software hace esto? ¿Existe alguna herramienta para monitorear QUE PROCESO BORRÓ EL CLIPBOARD? O si experimentó este problema con algún software que haya utilizado, ¿cuál fue ese?

Estoy usando Windows 7, y muchas aplicaciones se están ejecutando en mi sistema, por lo que es difícil saber cuál está causando todos los problemas.

Actualizar

Hoy he confirmado que la aplicación se está portando mal Visual C# 2010y el problema solo aparece dentro de esta aplicación. He intentado usar herramientas de monitoreo del portapapeles como sugirió JRobert . Parece que el texto se copia correctamente en el clipboard(para que clipboard history managerpueda grabarlo) y luego Visual C# 2010borra el contenido del portapapeles por alguna razón, lo que lleva al "portapapeles vacío".

Así que gracias a todos, ahora estoy seguro de qué aplicación causa el problema, e incluso he encontrado un Microsoft Connectrastreador de errores sobre esto:
https://connect.microsoft.com/VisualStudio/feedback/details/554039/visual-studio-2010-clipboard -copy-and-cut-does-not-work? wa = wsignin1.0
Y aquí hay información adicional:
http://alpascual.com/post/copy-and-paste-problems-in-visual-studio-2010 .aspx

Ahora puedo esperar y rezar para que Microsoft solucione el error.

Paya
fuente
Es posible que desee visitar community.winsupersite.com/blogs/paul/archive/2010/05/06/…
Unfundednut
He leído el artículo y toda la discusión, pero nadie experimentó el mismo problema que yo. :-(
Paya
1
No estás usando KeePass, ¿verdad?
BloodPhilia
No, no lo estoy, pero lo instalé en el pasado y lo desinstalé ...
Paya
¿Por qué no lo haces de la manera fácil? Comience cerrando las aplicaciones de escritorio que agregó antes de que

Respuestas:

3

Echa un vistazo a /programming/621577/clipboard-event-c

No creo que pueda hacer más de lo que está disponible con la API, pero esto debería ser lo suficientemente útil como para enrollar su propio Monitor del Portapapeles o solicitar a alguien de esa pregunta que le proporcione el suyo. Monitorear y mostrar el contenido del portapapeles cada vez puede ser útil para decidir si algo de terceros está jugando con su portapapeles, a partir de ahí tendrá que identificar al culpable eliminando procesos o algo así.

Tamara Wijsman
fuente
Sí, ya sé que es posible monitorear los cambios del portapapeles, pero necesito rastrearlo hasta la aplicación, que realizó el cambio. Y el problema no se repite periódicamente, sino al azar. Por lo tanto, sería muy difícil rastrear la aplicación eliminando procesos.
Paya
Oh, acabo de tener una idea que podría ayudarte a encontrar tu solución. Se podría tratar de conectar la llamada a la API ( codeproject.com/kb/system/hooksys.aspx ) y descubre que de tal manera ...
Tamara Wijsman
Sí, esta idea también se me pasó por la cabeza, pero es un poco complicado crear dicho programa. Solo espero que haya otra solución.
Paya
3

Uno de estos visores del portapapeles podría ser un paso intermedio (entre eliminar selectivamente los procesos y conectar la API del portapapeles) . Puede que tenga que seguir actualizándolo manualmente con la esperanza de descubrir cuándo se despejó el portapapeles, pero al reducirlo, puede descubrir que sucede, f / ex, justo después de alguna otra acción aparentemente inocua que haya tomado.

JRobert
fuente
Sucede incluso si no tomo ninguna acción inocente ... Por ejemplo, copio algo en el portapapeles y luego empiezo a presionar Ctrl + V cinco veces. Se pega 3 veces y luego de repente borra el contenido del portapapeles, por lo que los siguientes 2 ctrl + v no hacen nada. Y solo hago ctrl + v, nada más. Así que no sé cómo me ayudará monitorear el cambio del portapapeles.
Paya
¿Y nada relacionado con el usuario ha tenido lugar en ese momento? El fenómeno debe estar relacionado con algún proceso que se está ejecutando o no en un momento dado, si no se puede repetir de manera confiable. Mi única otra sugerencia es obtener una instantánea (f / ex, con Process Explorer) de los procesos actualmente en ejecución tomados en los momentos en que puede reproducir el fenómeno y en los momentos en que no puede. Luego compare las dos instantáneas por sus diferencias.
JRobert
Bueno, sucede completamente al azar, nada relacionado con el usuario. Sin embargo, ahora sospecho que Visual C # 2010 está causando el problema, ya que lo busqué en Google y parece que otros están experimentando problemas similares (no iguales) en el portapapeles. Investigará más a fondo.
Paya
2

El portapapeles en Windows nunca ha funcionado muy bien. Hace mucho tiempo me di por vencido y comencé a usar reemplazos de portapapeles gratuitos. Mi último favorito es ClipX ( http://www.bluemars.org/clipx/ ). Me cansé de golpearme la cabeza con la rareza y las limitaciones del portapapeles de Windows (la peor es que solo puedes almacenar un clip a la vez).

Más allá de eso, debe tener en cuenta que Microsoft ha hecho algunas cosas muy extrañas en el portapapeles de Windows en algunas versiones de Microsoft Office. No puedo recordar qué versiones de Office fueron los peores delincuentes a este respecto, pero sí sé que después de instalar uno de ellos, la operación del portapapeles se vio seriamente desordenada hasta que desactivé las funciones relacionadas. Recuerdo que estos problemas ocurrieron incluso cuando no se ejecutaban aplicaciones de Office. De todos modos, si no ha instalado Office en la máquina en cuestión, obviamente debe ignorar esto.

boot13
fuente
No he instalado Office, así que ese no debería ser el caso. Por cierto, ClipX es el administrador del historial del portapapeles, no el reemplazo del portapapeles. Pero parece que Visual C # 2010 está causando la rareza del portapapeles, estoy tratando de confirmarlo, pero actualmente no puedo reproducir el problema. Lo seguiré intentando.
Paya
Estás partiendo pelos. ClipX y (otras herramientas similares) se enganchan en el portapapeles de Windows y eliminan efectivamente todas sus limitaciones, incluido el tipo de comportamiento extraño sobre el que publicó originalmente. ¿Por qué golpearse la cabeza contra el horrible portapapeles predeterminado si puede solucionarlo?
boot13
"hasta que desactivé las funciones relacionadas" ¿Cuáles? ¿Cómo los desactivaste? @Paya
falsePockets
@falsePockets ¿Tal vez deberías preguntar boot13? Él escribió la publicación. De todos modos, estoy usando Visual Studio 2017 ahora y ya no tiene este problema.
Paya
@falsePockets: esto funciona en Word 2007 seguro, probablemente otras versiones también. Haga clic en la pestaña Inicio, haga clic en la pequeña flecha a la derecha de donde dice 'Portapapeles', justo debajo de 'Pegar'. Haga clic en el botón Opciones en la parte inferior izquierda. Anule la selección de algunas o todas estas opciones.
boot13
2

La forma correcta de hacer esto es monitorear las llamadas a la API, las operaciones del Portapapeles son función del módulo user32.dll

algunos de ellos son :

user32.dll!CloseClipboard
user32.dll!SetClipboardData
user32.dll!EmptyClipboard
user32.dll!GetClipboardData
...

Algunas herramientas como Spy Studio o API Monitor le permiten rastrear esas llamadas y decirle quién las realizó.

buena suerte !


fuente
Spy Studio no tiene soporte de 64 bits, argh ... Pero API Monitor parece hacerlo, lo comprobará más tarde ... +1 ¡Se ve increíble! Ya he trabajado con XPerf, pero esto parece ser más útil, ya que puede mostrar parámetros y otras cosas. :-)
Tamara Wijsman
La nueva versión de API Monitor es agradable, el único inconveniente es que algunas cosas no son muy eficientes para el usuario, como seleccionar múltiples procesos o filtros ... Lo informaré uno de estos días. :-)
Tamara Wijsman
sí, acaban de lanzar el V2 :) parece prometedor. dígame si da algunos resultados, y hay muchos otros, pero la mayoría de ellos permiten conectar solo un proceso (no muy útil para su caso)