Le contenu du presse-papiers est automatiquement effacé

10

Mon presse-papiers est automatiquement effacé de temps en temps.

Par exemple:
je copie du texte à l'aide de Ctrl + C, puis je le colle quelque part. Et quand j'essaye de le coller à nouveau, rien ne se passe. J'ai besoin de le copier encore une fois.

Cela se produit de manière irrégulière, parfois je peux coller le texte plusieurs fois, parfois même pas une fois.

Je suis développeur, donc je copie et colle très souvent (...), mais c'est vraiment ennuyeux.

Comment puis-je découvrir quel logiciel fait cela? Existe-t-il un outil de suivi QUEL PROCESSUS EFFACÉ CLIPBOARD? Ou si vous avez rencontré ce problème avec un logiciel que vous avez utilisé, lequel était-ce?

J'utilise Windows 7 et de nombreuses applications s'exécutent sur mon système, il est donc difficile de dire laquelle cause tous les problèmes.

Mise à jour

Aujourd'hui, j'ai confirmé que l'application se comportait mal Visual C# 2010et que le problème n'apparaissait qu'à l'intérieur de cette application. J'ai essayé d' utiliser des outils de surveillance du presse-papiers comme l' a suggéré JRobert . Il semble que le texte soit correctement copié dans le clipboard(afin de clipboard history managerpouvoir l'enregistrer) puis Visual C# 2010efface le contenu du presse-papiers pour une raison quelconque, ce qui mène au "presse-papiers vide".

Alors merci à tous, je suis maintenant sûr de quelle application cause le problème, et j'ai même trouvé un Microsoft Connectbug tracker à ce sujet:
https://connect.microsoft.com/VisualStudio/feedback/details/554039/visual-studio-2010-clipboard -copy-and-cut-does-not-work? wa = wsignin1.0
Et voici quelques informations supplémentaires:
http://alpascual.com/post/copy-and-paste-problems-in-visual-studio-2010 .aspx

Maintenant, je peux simplement attendre et prier pour que Microsoft corrige le bogue.

Paya
la source
Pourrait vouloir vérifier community.winsupersite.com/blogs/paul/archive/2010/05/06/…
Unfundednut
J'ai lu l'article et toute la discussion en dessous, mais personne n'a rencontré le même problème que moi. :-(
Paya
1
Vous n'utilisez pas KeePass, n'est-ce pas?
BloodPhilia
Non, je ne le suis pas, mais je l'ai installé dans le passé et l'ai désinstallé ...
Paya
pourquoi ne le faites-vous pas facilement? Commencez par fermer les applications de bureau que vous avez ajoutées avant que ce problème ne survienne, je vais démarrer les applications flash / AIR et les gadgets de bureau, etc. "trop ​​n'est jamais trop"

Réponses:

3

Consultez /programming/621577/clipboard-event-c

Je ne pense pas que vous puissiez faire plus que ce qui est disponible avec l'API, mais cela devrait être suffisamment utile pour créer votre propre presse-papiers ou demander à quelqu'un de cette question de vous fournir le sien. La surveillance et l'affichage du contenu du presse-papiers à chaque fois peuvent être utiles pour décider si quelque chose de tiers gâche votre presse-papiers, à partir de là, vous devrez identifier le coupable en éliminant les processus ou quelque chose comme ça.

Tamara Wijsman
la source
Oui, je sais déjà qu'il est possible de surveiller les modifications du presse-papiers, mais je dois le retrouver jusqu'à l'application, qui a effectué le changement. Et le problème ne se répète pas périodiquement, mais au hasard. Il serait donc très difficile de retracer l'application en éliminant les processus.
Paya
Oh, je viens d'avoir une idée qui pourrait vous aider à trouver votre solution. Vous pouvez essayer de connecter l'appel API ( codeproject.com/kb/system/hooksys.aspx ) et le découvrir de cette manière ...
Tamara Wijsman
Oui, cette idée m’a aussi traversé l’esprit, mais c’est un peu compliqué de créer un tel programme. J'espère simplement qu'il existe également une autre solution.
Paya
3

Une étape intermédiaire (entre la suppression sélective de processus et le raccordement de l'API du presse-papiers) pourrait être l'un de ces visualiseurs de presse-papiers . Vous devrez peut-être continuer à l'actualiser manuellement en espérant découvrir quand le presse-papiers s'est effacé, mais en réduisant cela, vous pourriez découvrir que cela se produit, f / ex, juste après une autre action apparemment inoffensive que vous avez prise.

JRobert
la source
Cela arrive même si je ne prends aucune action innocente ... Par exemple, je copie quelque chose dans le presse-papiers, puis je commence à appuyer cinq fois sur Ctrl + V. Il colle 3 fois, puis efface soudainement le contenu du presse-papiers, de sorte que les 2 ctrl + v suivants ne font rien. Et je fais juste le ctrl + v, rien d'autre. Je ne sais donc pas comment la surveillance des modifications du presse-papiers m'aidera.
Paya
Et rien de lié à l'utilisateur n'a eu lieu à ce stade? Le phénomène doit être lié à un processus en cours d'exécution ou non à un moment donné, s'il n'est pas reproductible de manière fiable. Ma seule autre suggestion est d'obtenir un instantané (f / ex, avec Process Explorer) des processus en cours d'exécution pris à des moments où vous pouvez reproduire le phénomène et à des moments où vous ne pouvez pas. Comparez ensuite les deux instantanés pour leurs différences.
JRobert
Eh bien, cela arrive complètement au hasard, rien de lié à l'utilisateur. Cependant, je soupçonne maintenant que Visual C # 2010 est à l'origine du problème, car je l'ai googlé et il semble que d'autres rencontrent des problèmes de presse-papiers similaires (pas les mêmes). Enquêtera plus avant.
Paya
2

Le presse-papiers de Windows n'a jamais très bien fonctionné. Il y a longtemps, j'ai abandonné et j'ai commencé à utiliser des remplacements de presse-papiers gratuits. Mon dernier favori est ClipX ( http://www.bluemars.org/clipx/ ). Je me suis juste lassé de me cogner la tête dans l'étrangeté et les limites du presse-papiers Windows (le pire étant que vous ne pouvez stocker qu'un seul clip à la fois).

Au-delà de cela, vous devez savoir que Microsoft a fait des choses très étranges dans le presse-papiers de Windows dans certaines versions de Microsoft Office. Je ne me souviens pas quelles versions d'Office étaient les pires contrevenants à cet égard, mais je sais qu'après l'installation de l'une d'entre elles, le fonctionnement du presse-papiers a été sérieusement gâché jusqu'à ce que je désactive les fonctionnalités associées. Si je me souviens bien, ces problèmes se sont produits même lorsqu'aucune application Office n'était en cours d'exécution. Quoi qu'il en soit, si vous n'avez pas installé Office sur la machine en question, vous devez évidemment l'ignorer.

boot13
la source
Je n'ai pas installé Office, donc cela ne devrait pas être le cas. Soit dit en passant, ClipX est le gestionnaire de l'historique du presse-papiers, pas le remplacement du presse-papiers. Mais il semble que le Visual C # 2010 soit à l'origine de l'étrangeté du presse-papiers, j'essaie de le confirmer, mais je ne suis actuellement pas en mesure de reproduire le problème. Va continuer d'essayer.
Paya
Vous divisez les cheveux. ClipX et (d'autres outils comme celui-ci) se connectent au presse-papiers de Windows et suppriment efficacement toutes ses limitations, y compris le type de comportement étrange que vous avez initialement publié. Pourquoi vous battre la tête contre le presse-papiers par défaut merdique si vous pouvez le contourner?
boot13
"jusqu'à ce que j'aie désactivé les fonctionnalités associées" Lesquelles? Comment les avez-vous désactivés? @Paya
falsePockets
@falsePockets Vous devriez peut-être demander à boot13? Il a écrit le message. Quoi qu'il en soit, j'utilise Visual Studio 2017 maintenant et il n'a plus ce problème.
Paya
@falsePockets: cela fonctionne dans Word 2007 à coup sûr, d'autres versions probablement aussi. Cliquez sur l'onglet Accueil, cliquez sur la petite flèche à droite de l'endroit où il est écrit «Presse-papiers», juste en dessous de «Coller». Cliquez sur le bouton Options en bas à gauche. Désélectionnez certaines ou toutes ces options.
boot13
2

La bonne façon de le faire est de surveiller les appels d'API, les opérations du Presse-papiers sont fonction du module user32.dll

Certains d'entre eux sont :

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

certains outils comme Spy Studio ou API Monitor vous permettent de suivre ces appels et de vous dire qui les a effectués.

bonne chance !


la source
Spy Studio n'a pas de support 64 bits, argh ... Mais API Monitor semble le faire, le vérifiera plus tard ... +1 Semble génial! J'ai déjà travaillé avec XPerf mais cela semble plus pratique car il peut afficher des paramètres et d'autres choses. :-)
Tamara Wijsman
La nouvelle version d'API Monitor est sympa, le seul inconvénient est que certaines choses ne sont pas très efficaces pour l'utilisateur, comme la sélection de plusieurs processus ou filtres ... Je le signalerai un de ces jours. :-)
Tamara Wijsman
oui ils viennent de sortir le V2 :) semble prometteur. dites-moi si cela donne des résultats, et il y en a beaucoup d'autres, mais la plupart d'entre eux ne permettent d'accrocher qu'un seul processus (pas très pratique pour votre cas)