Вниз
Скачать: CL | DM;

Как найти локальное имя по имени сетевого диска?   Найти похожие ветки 

 
EternalWonderer   (2002-08-13 14:52) [0]

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


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

Господа мастера, неужели никто не решал подобную задачу?
В 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;

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


 
EternalWonderer   (2002-08-15 13:36) [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;


Удачи!


 
Filat ©   (2002-09-04 12:36) [3]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
14-11400
Mad_Ghost
2002-10-12 20:13
2002.11.04
Delphi 7 (.NET) C++ .NET


1-11277
Valeris
2002-10-23 10:31
2002.11.04
Имя TComponent в качестве переменной?


1-11254
volph777
2002-10-22 17:50
2002.11.04
красиво разбить строку


1-11244
pirat
2002-10-25 14:37
2002.11.04
Про бинарники делфи


3-11114
jen_bond
2002-10-12 14:16
2002.11.04
Узнать разницу между датами




   Наверх