Win32 <--> BLC (.Net)
Hoje eu estava procurando um assundo no site do msdn library e encontrei este artigo sobre como mapear funções da Win32 para as respectivas classes/métodos da Base Class Library do .Net.
O mesmo é de 1/2004 mas ainda deve ser interessante :)
Deus os abençoe.
Adriano
[+/-] mostrar/esconder este post
sábado, junho 10, 2006
terça-feira, junho 06, 2006
Links...
Aqueles que estão acostumados com SOs Unix Like certamente já conhecem este conceito, mas poucos usuários do Windows sabem que o NTFS (desde o Windows NT 4.0), suporta o conceito de hardlinks, que nada mais são que várias entradas de diretório que apontam para o mesmo arquivo (Note que este conceito aplica-se apenas a arquivos).
Utilizando-se este recurso é possível fazer com que um arquivo possa "estar" em dois (ou mais) diretórios ao mesmo tempo :).
Vejam o exemplo:
Você pode estar se perguntando: "E porque eu usaría isto?". Para simplificar o gerenciamento de arquivos.
Por exemplo, em alguns projetos meus, necessito que um arquivo (digamos arquivo.txt) se encontre em um diretório específico; por outro lado este mesmo arquivo deve ser incluído no programa de setup destes projetos que por sua vez, normalmente, tem seus arquivos armazenados em um diretório chamado setup e, por motivos de organização, este arquivo fica neste diretório, assim acabo com a seguinte configuração:
c:\meus projetos\nome projeto\src\arquivo.txt
c:\meus projetos\nome projeto\src\setup\arquivo.txt
Agora eu tenho que decidir como gerenciar esta questão:
O melhor de tudo é que é possível mover qualquer uma das referências e tudo continuará a funcionar!
A questão que surge então é "como fazer para criar um hardlink?". A resposta rápida é: nas versões atuais o Windows não disponibiliza uma forma simples para se fazer isto. Mas como quase tudo no windows pode ser extendido (e o Shell não é diferente) já desenvolveram (pelo menos) uma Shell Extension.
Adriano
[+/-] mostrar/esconder este post
Utilizando-se este recurso é possível fazer com que um arquivo possa "estar" em dois (ou mais) diretórios ao mesmo tempo :).
Vejam o exemplo:
- Arquivo: c:\temp\teste.txt
- Hardlink: c:\dados\teste.txt
Você pode estar se perguntando: "E porque eu usaría isto?". Para simplificar o gerenciamento de arquivos.
Por exemplo, em alguns projetos meus, necessito que um arquivo (digamos arquivo.txt) se encontre em um diretório específico; por outro lado este mesmo arquivo deve ser incluído no programa de setup destes projetos que por sua vez, normalmente, tem seus arquivos armazenados em um diretório chamado setup e, por motivos de organização, este arquivo fica neste diretório, assim acabo com a seguinte configuração:
c:\meus projetos\nome projeto\src\arquivo.txt
c:\meus projetos\nome projeto\src\setup\arquivo.txt
Agora eu tenho que decidir como gerenciar esta questão:
- Mantenho o arquivo nos dois diretórios e corro o risco de ter duas versões diferentes do mesmo (e o que é pior, testar o projeto usando um arquivo e liberar um setup que usa o outro - não testado)
- Manter apenas uma cópia do arquivo e ficar movendo a mesma de um diretório para o outro na medida do nescessário.
O melhor de tudo é que é possível mover qualquer uma das referências e tudo continuará a funcionar!
A questão que surge então é "como fazer para criar um hardlink?". A resposta rápida é: nas versões atuais o Windows não disponibiliza uma forma simples para se fazer isto. Mas como quase tudo no windows pode ser extendido (e o Shell não é diferente) já desenvolveram (pelo menos) uma Shell Extension.
Adriano
[+/-] mostrar/esconder este post