Impedir arrastar e soltar do Windows Explorer do congelamento da janela?

2

Em alguns softwares mal implementados (no meu caso, iPhoneBrowser e MP3Gain , mas há outros) depois de arrastar um arquivo / pasta do explorer para o programa, a janela do explorador se tornará inutilizável até que o programa termine sua operação. Não pode ser redimensionado, movido ou minimizado, e nenhum dos botões ou ícones podem ser interagidos com (o cursor está preso no cursor "drop here"). Isso dura até que o programa termine sua operação É possível abrir outra janela do explorador e navegar para lá, mas a janela original ainda está congelada.

Para ser claro, isso ocorre com um software de terceiros que responde ao arrastar e soltar no encadeamento que criou o evento. Copiar arquivos no explorador não aciona o problema.

Existe uma maneira de evitar esse comportamento, então eu ainda posso interagir com a janela do explorador enquanto o programa faz sua coisa em seu próprio segmento / processo / o que quer que seja? Eu tenho o Windows 7 x64 , mas o comportamento estava presente no XP32 também, IIRC.

    
por Robert Fraser 23.08.2010 / 13:15

5 respostas

1

É fixável * , mas você precisará alterar seu fluxo de trabalho um pouco.

O que você precisa é de um aplicativo auxiliar que implemente os dois lados do recurso de arrastar e soltar. Quando os arquivos são descartados para esse ajudante, seu IDropTarget fará uma cópia da lista suspensa e liberará o explorador para fazer outras coisas. Em seguida, você arrastará e soltará do assistente para o iPhoneBrowser, que bloqueará apenas a cópia da lista suspensa e não o original usado pelo explorador.

Por multi-threading o ajudante, também deve ser possível evitar que ele seja congelado para a duração.

* Algum assembly é necessário. Se você não é um programador, faça amizade com um

    
por 30.08.2010 / 17:26
3

Não tenho certeza se entendi seu problema corretamente, mas você já pensou em abrir uma segunda janela do explorador?

    
por 24.08.2010 / 03:45
2

Eu tenho escrito programas que lidam com arrastar e soltar arquivos, e posso dizer que esta situação só existirá para programas de manipulação de arquivos mal gravados.

Os programadores preguiçosos mantiveram a lista suspensa aberta enquanto processavam os arquivos, congelando o Explorer, em vez de apenas sair de todos os nomes de arquivos descartados e fechar a lista, para liberar o Explorer ANTES de fazer o processamento.

    
por 26.08.2010 / 08:09
1

Que tal uma aplicação que assume todo o processo de cópia? por exemplo, SuperCopier 2

    
por 30.08.2010 / 18:23
0

Pode parecer uma resposta estranha, mas para operações de cópia grandes eu costumo usar o xcopy. Sim, que aprendi primeiro a usar com o DOS 6. Ele ainda funciona.

    
por 30.08.2010 / 20:45