Copiar e colar e Enviar para são conceitos bem amplos.
As operações de recortar, copiar e colar estão relacionadas com a área de transferência - uma área especial onde vários itens podem ser armazenados temporariamente após serem recortados ou copiados.
O que as operações Recortar e Copiar realmente fazem depende do que você está aplicando. Por exemplo, no Bloco de Notas, se você cortar algum texto, ele será imediatamente removido da janela do Bloco de Notas e colocado na área de transferência. Copiá-lo irá criar uma cópia na área de transferência, mas sem remover o texto original. O texto na área de transferência será marcado como texto simples . Você pode colá-lo quantas vezes quiser, não importa se o cortou ou copiou. A área de transferência é assim:
Plain text: The quick brown fox jumps over the lazy dog.
No Word, se você recortar ou copiar algo, ele também será colocado na área de transferência, mas será marcado como imagem, tabela, texto formatado ou o que for.
A formatted text: The quick brown fox jumps over the lazy dog.
Colar conteúdo do Word no Bloco de notas removerá a formatação, tornando-a texto simples. Ao fazer o inverso, o Word perguntará qual estilo você deseja aplicar - texto simples não tem formatação, mas tudo no documento do Word faz.
Regras semelhantes se aplicam a imagens. Você pode cortá-los uma vez ou copiá-los e depois colar uma quantidade infinita de vezes. A imagem é sempre uma imagem, por isso não há problemas de formatação. Você não pode colar uma imagem no Bloco de Notas (porque não é texto sem formatação), mas pode colá-la no Word (a formatação será aplicada automaticamente).
Os arquivos também funcionam dessa maneira, mas, como você percebeu ao recortar um arquivo, pode colá-lo apenas uma vez (o que não era o caso dos exemplos anteriores). A causa desse comportamento é bem simples.
Digamos que você tenha 256 MB de RAM (sei que é muito improvável hoje, mas vamos supor que, por causa desse exemplo). Você deseja copiar um arquivo para outra pasta, mas o arquivo é de cerca de 1 GB - quatro vezes mais do que a memória total, não falando da memória livre. Agora, não vai funcionar assim. Além disso, mesmo se o arquivo couber na RAM, movê-lo dessa maneira seria perigoso, porque a área de transferência é perdida após o desligamento, portanto, uma queda de energia pode destruir alguns arquivos importantes se ocorrer no procedimento de copiar e colar.
O que realmente acontece quando você recorta ou copia um arquivo é o caminho colocado na área de transferência com uma anotação opcional para excluir o original depois de colá-lo em outro lugar. Então você não tem arquivo inteiro na área de transferência, apenas o caminho e alguns detalhes sobre o que fazer com ele:
A file: C:\MyFile.txt, don't remove the original after pasting it somewhere.
ou se você cortar em vez de copiar:
A file: D:\Videos\BigBuckBunny.mp4, remove the original after pasting it somewhere.
Quando você cola um arquivo que foi cortado, o caminho da área de transferência é resolvido e o arquivo é movido ou copiado. Há duas conseqüências principais: primeiro, é por isso que você pode colar arquivos cortados apenas uma vez - o caminho ainda está na área de transferência, mas ele não existe mais no disco rígido. Segundo, o arquivo recortado não desaparece instantaneamente, mas quando é colado em outro lugar - se você modificá-lo nesse meio tempo, o arquivo modificado será movido.
Agora, Enviar para não é muito menos complicado. Assim como as aplicações podem colocar diferentes tipos de dados na área de transferência, Enviar para pode ter vários tipos de alvos. Ele é implementado de maneira suja e hacky, mas seria difícil fazer o contrário, preservando sua funcionalidade.
Send To targets são arquivos em algum diretório, você deve vê-los digitando isto no menu Iniciar e pressionando Enter :
%appdata%\Microsoft\Windows\SendTo
Você perceberá que alguns desses arquivos são atalhos e outros não. Sobre os atalhos, é simples - quando um arquivo é enviado para ele através do menu de contexto, ele é passado como um argumento para o destino do atalho. Todo o processamento adicional é deixado para aquele aplicativo, o Windows não está mais envolvido.
Sobre esses arquivos que não são atalhos - esses são arquivos especiais manipulados pelo Explorer (o aplicativo responsável por mostrar a área de trabalho e o menu Iniciar). Quando você escolhe Enviar para - > Documentos , o Explorer cuidará do seu pedido e criará uma cópia do arquivo. Os detalhes dessa operação dependem de como o Explorer lida com ela, provavelmente é apenas uma simples operação de cópia de arquivos. (Eu quero dizer apenas cópia do