Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Сети";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
7-11526
maxim2
2002-09-02 14:31
2002.11.04
В каком файле находится заставка при загрузке Windows


3-11080
PAVELsinicinV
2002-10-15 15:50
2002.11.04
У меня пока получается только db формат


7-11499
multik
2002-08-30 04:03
2002.11.04
Автозапуск для диска.


7-11508
UWater
2002-09-01 16:54
2002.11.04
Серийный номер жесткого диска


14-11398
Igorek
2002-10-07 15:52
2002.11.04
Опрос:





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский