Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти локальное имя по имени сетевого диска? [D6]


EternalWonderer ©   (2002-08-13 14:52:00) 

Имеем: путь типа \\NTserver\install.
Задача: проверить, подключен (maped) ли он уже на клиенте?
GetVolumeInformation не катит, поскольку возвращает только вторую часть пути - "install" ...


Filat   (2002-09-04 12:36:00) [1]

Спасибо !
Будем иметь ввиду на будушщее :)))))


EternalWonderer   (2002-08-15 13:36:00) [2]

Для интересующихся сообщаю решение:
Function GetLocalNameAssigned(NetName: String): String;
Var c : Array[1..26] of Char;
n : Integer;
VolumeName: array [0..MAX_PATH-1] of Char;
BufferLength: Cardinal;
begin
Result := "";
c:="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
BufferLength := MAX_PATH;
For n := 1 to 26 do
If (GetDriveType(PChar(c[n]+":\")) = DRIVE_REMOTE)
And (WNetGetConnection(PChar(String(c[n]+":")),VolumeName,BufferLength) = NO_ERROR)
And (ANSIUpperCase(NetName) = ANSIUpperCase(VolumeName)) Then Begin
Result := c[n] + ":";
Exit;
End;
End;


Удачи!


EternalWonderer   (2002-08-14 09:07:00) [3]

Господа мастера, неужели никто не решал подобную задачу?
В Explorer"е эти имена появляются (в виде "INSTALL на "NTServer" (G:)"), значит, их можно как-то "добыть"!

Function GetLocalNameAssignedDrive(NetName: String): String;
Var c : Array[1..26] of Char;
n : Integer;
begin
Result := "";
c:="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
For n := 1 to 26 do
If (GetDriveType(PChar(c[n]+":\")) = DRIVE_REMOTE)

And // здесь надо получить VolumeName в виде
// "\\NTServer\install" или хотя бы как-то иначе

And (NetName = VolumeName) Then Begin
Result := c[n] + ":";
Exit;
End;
End;

Заранее признателен за подсказку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо