Estamos implantando algumas máquinas virtuais com software de robôs que executam ações em um navegador e estamos tendo problemas com algumas delas ao acessar a área de transferência para leitura ou gravação. Eles mostram uma "Não é possível abrir a área de transferência".
Portanto, há qualquer outro aplicativo segurando a área de transferência.
Como podemos depurar isso? Existe alguma ferramenta que possa monitorar isso? O AFAIK ProcMon não faz o trabalho.
Máquinas são Windows XP.
windows
monitoring
clipboard
Áxel Costas Pena
fonte
fonte
Respostas:
A API da área de transferência é do Windows 3.0 (ou antes?) E é mal projetada. Infelizmente, em vez de ter primitivas get / set, ele usa abrir / fechar, o que possibilita que os aplicativos mantenham seu acesso por muito tempo. Algumas melhorias foram trazidas pelo Vista para o manuseio da cadeia de visualizadores, mas nenhuma nova API.
Com a API existente, é possível identificar o proprietário da área de transferência apenas se esse proprietário também tiver pelo menos uma janela aberta. Se o proprietário não tiver janelas, uma delas estará sem sorte.
No tópico Por que minha área de transferência parou de funcionar? , Jay Parzych contribuiu com o seguinte código vbs em que a função GetClipboardLocker retorna o nome do arquivo do processo que contém a área de transferência:
Uma função C # semelhante pode ser encontrada na publicação Título / Legenda dos proprietários da área de transferência .
fonte