VB
.NET - Identificando pastas especiais no .NET 4.0
O ambiente Microsoft Windows inclui muitas pastas especiais, os caminhos podem ser identificados utilizando o método Environment.GetFolderPath. O número de tais pastas duplicou desde o lançamento da versão framework. NET 1.1.
Este artigo descreve os novos diretórios que podem ser localizados usando a plataforma .NET Framework 4.0.
A maneira para acessar os caminhos das pastas do sistema mantém-se inalterado. Como antes, você chama o método GetFolderPath da classe Environment, passando um valor da enumeração definida em Environment.SpecialFolder para determinar qual o caminho da pasta.
Os resultados são retornados em uma string. Os novos caminhos são acessados usando os novos valores constantes na enumeração.
Na tabela abaixo temos a relação das novas constantes que incluem o nome da constante e o resultado de seu uso através do método GetFolderPath:
Constante | Descrição |
---|---|
AdminTools | Retorna a pasta que gerencia as ferramentas administrativas, incluindo o Microsoft Management Console (MMC) |
CDBurning | Retorna o caminho da pasta usada para tratar temporariamente arquivos enquanto eles aguardam para serem escritos para um CD ou DVD. |
CommonAdminTools | Retorna a pasta que gerencia as ferramentas administrativas que são compartilhadas por todos os usuários |
CommonDocuments | Retorna o caminho para a pasta documentos compartilhados que é acessível a todos os usuários |
CommonMusic | Retorna o caminho para pasta de músicas compartilhadas por todos os usuários. |
CommonOemLinks | Constante disponível por questão de compatibilidade. Retorna uma string vazia. |
CommonPictures | Retorna o caminho para pasta de imagens compartilhadas por todos os usuários. |
CommonStartMenu | Retorna o caminho para pasta do menu Iniciar compartilhada por todos os usuários.Os itens nesta pasta aparecem no menu Iniciar para qualquer usuário |
CommonProgramFilesX86 | Retorna o caminho da pasta que contém os arquivos de programas de 32-bit e componentes que são compartilhados entre programas e são disponíveis a todos os usuários. |
CommonPrograms | Retorna o caminho da pasta que contém os arquivos de programas e componentes que são compartilhados entre programas e todos os usuários. |
CommonStartup | Retorna o caminho da pasta Iniciar que esta disponível a todos os usuários. Os atalhos incluídos para a pasta são iniciados automaticamente no fim no processo de logon |
CommonDesktopDirectory | Retorna o caminho da pasta Desktop compartilhada que esta acessível por todos os usuários. Os items nesta pasta aparecem no desktop. |
CommonTemplates | Retorna o caminho da pasta dos templates compartilhados que são compartilhados com todos os usuários. Esta pasta não existia antes do Windows NT |
CommonVideos | Retorna o caminho da pasta dos vídeos compartilhados acessíveis por todos os usuários. |
Fonts | Retorna a pasta que contém a lista de fontes instaladas |
LocalizedResources | Retorna a pasta que contém os recursos que são localizados para o usuário atual |
MyDocuments | Retorna o caminho da pasta de documentos do usuário atual. Este valor é equivalente a constante "Personal" |
MyVideos | Retorna o caminho da pasta dos vídeos do usuário |
NetworkShortcuts | Retorna o caminho da pasta virtual Atalhos de Rede(Network Shortcuts), a qual pode conter links para recursos na rede,como pasta remotas e sites FTP. |
PrinterShortcuts | Retorna o caminho da pasta Atalhos de Impressão. Pode conter links que aparecem na pasta impressoras Virtuais |
ProgramFilesX86 | Retorna o caminho da pasta Arquivos de Programas(Program Files) que contém software do usuário de 32-bit. |
Resources | Retorna a pasta que contém recursos que podem ser usados pelo usuário atual |
SystemX86 | Retorna o caminho da pasta Windows System. |
UserProfile | Retorna a pasta raiz do perfil do usuário atual. Esta pasta não deverá ser usada para armazenar arqivos.Use o caminho a partir de ApplicationData special folder. |
Windows | Returns o caminho da pasta Windows. |
O código a seguir percorre uma lista ordenada de pastas especiais, retornando o nome da constante SpecialFolder e seu caminho atual:
No formulário form1 inclua um controle ListBox(lstResultado) e um botão de comando e no seu evento Click inclua o código abaixo:
using System; using System.Linq; using System.Windows.Forms; namespace PastasEspeciais_Csharp { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnExibirPastas_Click(object sender, EventArgs e) { var folders = Enum.GetValues(typeof(Environment.SpecialFolder)) .OfType<Environment.SpecialFolder>().OrderBy(f => f.ToString()); int maxLength = folders.Max(f => f.ToString().Length); foreach (var folder in folders) { lstResultado.Items.Add(folder.ToString().PadRight(maxLength) + "\t\t" + Environment.GetFolderPath(folder)); } } } } |
CSharp |
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim folders = [Enum].GetValues(GetType(Environment.SpecialFolder)).OfType(Of Environment.SpecialFolder)().OrderBy(Function(f) f.ToString()) Dim maxLength As Integer = folders.Max(Function(f) f.ToString().Length) For Each folder In folders lstResultado.Items.Add(folder.ToString().PadRight(maxLength) & vbTab & vbTab & Environment.GetFolderPath(folder)) Next End Sub |
VB .NET |
Executando o projeto iremos obter:
![]() |
Pegue o projeto completo:
PastasEspeciais_Csharp.zip e
PastasEspeciais_VBNET.zip
1Ts 2:17
Nós, porém, irmãos, sendo privados de vós por algum tempo, de vista, mas não de coração, tanto mais procuramos com grande desejo ver o vosso rosto;1Ts 2:18
pelo que quisemos ir ter convosco, pelo menos eu, Paulo, não somente uma vez, mas duas, e Satanás nos impediu.1Ts 2:19
Porque, qual é a nossa esperança, ou gozo, ou coroa de glória, diante de nosso Senhor Jesus na sua vinda? Porventura não o sois vós?1Ts 2:20
Na verdade vós sois a nossa glória e o nosso gozo.Referências: