Path de unidade lógica.

19/06/2008

1

Olá a todos.

Gostaria de saber como capturar o path de uma unidade lógica/virtual que originalmente foi criada pelo comando Subst.
Ex.: Subst z: c:\minha pasta\minha sub pasta, e atravéz da minha aplicação conseguir capturar o path da unidade z.

Sei que existe o método WNetGetConnection, mas só funciona para unidades de rede.

Toda ajuda será bem vinda, obrigado.


Responder

Posts

23/06/2008

Micheus

[b:586dd40529]avafilho[/b:586dd40529], voce ão poderia utilizar o comando SUBST para listar as unidades, colocando-as em um arquivo temporário e depois lendo-o para obter o que vc quer?

Se vc digitar no prompt:
[color=blue:586dd40529][i:586dd40529]c:\> SUBST Y: C:\Windows\Temp[/i:586dd40529][/color:586dd40529]

vc terá um drive Y que corresponde ao diretório temporário.
Depois disto, se vc executar no prompt:
[color=blue:586dd40529][i:586dd40529]c:\> SUBST[/i:586dd40529][/color:586dd40529]

a saída será:
[color=blue:586dd40529][i:586dd40529]Y:\: => C:\Windows\Temp[/i:586dd40529][/color:586dd40529]

Assim, vc poderia utilizar a funão da API WinExec para direcionar o resultado de SUBST para um arquivo e depois lê-lo e retirar a informação desejada. Ex.:
begin
  WinExec(´SUBST > c:\windows\temp\substinf.txt´);
  Memo1.Lines.LoadFromFile(´c:\windows\temp\substinf.txt´);
  ...
end;


depois é carregar o arquivo substinf.txt.

Espero ter ajudado

Abraços


Responder