Conteúdo da área de transferência apagado automaticamente

10

Minha área de transferência é apagada automaticamente de tempos em tempos.

Por exemplo:
copio algum texto usando Ctrl + C e colo em algum lugar. E quando tento colar novamente, nada acontece. Eu preciso copiá-lo mais uma vez.

Isso acontece de maneira irregular, às vezes consigo colar o texto várias vezes, às vezes nem uma vez.

Sou desenvolvedor, copio e colo com muita frequência (...), mas isso é realmente irritante.

Como posso descobrir qual software faz isso? Existe alguma ferramenta para monitorar QUAL O PROCESSO APAGOU A PRIMEIRA PLACA? Ou se você teve esse problema com algum software que você usou, qual foi esse?

Estou usando o Windows 7 e muitos aplicativos estão em execução no meu sistema, por isso é difícil dizer qual deles está causando todos os problemas.

Atualizar

Hoje, confirmei que o aplicativo está se comportando mal Visual C# 2010e o problema está aparecendo apenas dentro desse aplicativo. Tentei usar ferramentas de monitoramento da área de transferência, como sugeriu o JRobert . Parece que o texto foi copiado corretamente no clipboard(para que você clipboard history managerpossa gravá-lo) e depois Visual C# 2010apaga o conteúdo da área de transferência por algum motivo, o que leva à "área de transferência vazia".

Então, obrigado a todos, agora tenho certeza de qual aplicativo causa o problema e até encontrei o Microsoft Connectrastreador de erros sobre isso:
https://connect.microsoft.com/VisualStudio/feedback/details/554039/visual-studio-2010-clipboard -copy-and-cut-not-work? wa = wsignin1.0
E aqui estão algumas informações adicionais:
http://alpascual.com/post/copy-and-paste-problems-in-visual-studio-2010 .aspx

Agora posso apenas esperar e orar pela Microsoft para corrigir o erro.

Paya
fonte
Eu li o artigo e toda a discussão sobre ele, mas ninguém teve o mesmo problema que eu. :-(
Paya
1
Por acaso você não usa o KeePass?
21410 BloodPhilia
Não, eu não sou, mas eu o instalei no passado e o desinstalei ...
Paya
por que você não faz isso da maneira mais fácil? Comece por fechar as aplicações desktop que você adicionou antes de este problemas vem, vou começar aplicações Flash / AIR e área de trabalho aparelhos etc ... "demais nunca é demais"

Respostas:

3

Confira /programming/621577/clipboard-event-c

Eu não acho que você possa fazer mais do que o disponível com a API, mas isso deve ser útil o suficiente para montar seu próprio Clipboard Monitor ou solicitar a alguém dessa pergunta que forneça o seu. Monitorar e mostrar o conteúdo da área de transferência a cada vez pode ser útil para decidir se algo de terceiros está interferindo na sua área de transferência. A partir daí, você terá que identificar o culpado, eliminando processos ou algo assim.

Tamara Wijsman
fonte
Sim, eu já sei que é possível monitorar as alterações na área de transferência, mas preciso localizá-lo no aplicativo, que fez a alteração. E o problema não se repete periodicamente, mas aleatoriamente. Portanto, seria muito difícil rastrear o aplicativo eliminando processos.
Paya
Acabei de ter uma ideia que pode ajudá-lo a sua solução. Você poderia tentar ligar a chamada API ( codeproject.com/kb/system/hooksys.aspx ) e descobri-lo de tal maneira ...
Tamara Wijsman
Sim, essa ideia também passou pela minha cabeça, mas é um pouco complicado criar esse programa. Eu só espero que haja também alguma outra solução.
Paya
3

Uma etapa intermediária (entre eliminar seletivamente os processos e conectar a API da área de transferência) pode ser um desses visualizadores da área de transferência . Talvez você precise atualizá-lo manualmente, esperando descobrir quando a área de transferência foi limpa, mas diminuindo isso, você poderá descobrir que isso acontece, f / ex, logo após alguma outra ação aparentemente inócua que você tomou.

JRobert
fonte
Isso acontece mesmo que eu não tome nenhuma ação inócua ... Por exemplo, copio algo na área de transferência e começo a pressionar Ctrl + V cinco vezes. Cola três vezes e, de repente, apaga o conteúdo da área de transferência, para que os próximos 2 ctrl + v não façam nada. E eu apenas faço o ctrl + v, nada mais. Portanto, não sei como o monitoramento das alterações na área de transferência me ajudará.
Paya
E nada relacionado ao usuário ocorreu naquele momento? O fenômeno deve estar relacionado a algum processo que está ou não está sendo executado em um determinado momento, se não puder ser repetido com segurança. Minha única outra sugestão é obter um instantâneo (f / ex, com Process Explorer) dos processos atualmente em execução, realizados em momentos em que você pode reproduzir o fenômeno e em momentos em que não é possível. Em seguida, compare os dois instantâneos com as diferenças.
JRobert
Bem, acontece completamente aleatório, nada relacionado ao usuário. No entanto, agora suspeito que o Visual C # 2010 está causando o problema, como eu pesquisei no Google e parece que outras pessoas estão enfrentando problemas semelhantes (não iguais) à área de transferência. Irá investigar mais.
Paya
2

A área de transferência no Windows nunca funcionou muito bem. Há muito tempo, desisti e comecei a usar as substituições da área de transferência do freeware. O meu último favorito é o ClipX ( http://www.bluemars.org/clipx/ ). Eu apenas me cansei de bater minha cabeça nas estranhezas e limitações da área de transferência do Windows (a pior delas é que você só pode armazenar um clipe de cada vez).

Além disso, você deve estar ciente de que a Microsoft fez algumas coisas muito estranhas na área de transferência do Windows em algumas versões do Microsoft Office. Não me lembro quais versões do Office foram os piores criminosos a esse respeito, mas sei que depois de instalar um deles, a operação da área de transferência ficou seriamente confusa até que eu desabilitei os recursos relacionados. Lembro-me de que esses problemas ocorreram mesmo quando nenhum aplicativo do Office estava sendo executado. De qualquer forma, se você não instalou o Office na máquina em questão, obviamente você deve ignorar isso.

boot13
fonte
Eu não instalei o Office, então esse não deve ser o caso. A propósito, o ClipX é o gerenciador de histórico da área de transferência, não a substituição da área de transferência. Mas parece que o Visual C # 2010 está causando estranheza na área de transferência. Estou tentando confirmar isso, mas atualmente não consigo reproduzir o problema. Vai continuar tentando.
Paya
Você está cortando cabelos. O ClipX e (outras ferramentas como essa) se conectam à área de transferência do Windows e removem efetivamente todas as suas limitações, incluindo o tipo de comportamento estranho sobre o qual você postou originalmente. Por que bater sua cabeça contra a área de transferência padrão de baixa qualidade, se você pode contornar isso?
usar o seguinte comando
"até desativar os recursos relacionados" Quais? Como você os desabilitou? @Paya
falsePockets
@falsePockets Talvez você deva perguntar ao boot13? Ele escreveu o post. De qualquer forma, estou usando o Visual Studio 2017 agora e ele não tem mais esse problema.
Paya
@falsePockets: isso funciona no Word 2007, com certeza, outras versões provavelmente também. Clique na guia Início, clique na pequena seta à direita de onde está 'Área de transferência', logo abaixo de 'Colar'. Clique no botão Opções no canto inferior esquerdo. Desmarque algumas ou todas essas opções.
boot13
2

A maneira correta de fazer isso é monitorar as chamadas da API. As operações da área de transferência são função do módulo user32.dll

alguns deles são :

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

algumas ferramentas como o Spy Studio ou o API Monitor permitem rastrear essas chamadas e informar quem as fez.

boa sorte !


fonte
O Spy Studio não tem suporte a 64 bits, mas ... API API parece fazê-lo, irá verificar mais tarde ... +1 Parece incrível! Já trabalhei com o XPerf, mas isso parece ser mais útil, pois pode mostrar parâmetros e outras coisas. :-)
Tamara Wijsman
A nova versão do API Monitor é boa, a única desvantagem é que algumas coisas não são muito eficientes para o usuário, como selecionar vários processos ou filtros ... Vou relatar isso um dia desses. :-)
Tamara Wijsman
Sim, eles acabaram de lançar o V2 ​​:) parece promissor. diga-me se dar alguns resultados, e há muitos outros, mas a maioria deles permitem ligar mais de apenas um processo (não muito útil para o seu caso)