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

Вниз

UNC   Найти похожие ветки 

 
Evgeny   (2002-10-29 13:27) [0]

вопрос:
Как текущий каталог представить в виде UNC с помощью winapi. То есть есть компьютер \\MY_COMP (локальный),
на нём диск C:, на нём есть каталог TEMP, этот диск отдан в сети (расшарен)
под именем UNCTEMP - как с помощью winapi получить представление этого
диска в виде \\MY_COMP\UNCTEMP\TEMP (что является аналогом C:\TEMP)


 
Петров Денис   (2002-10-29 13:57) [1]

Стоит воспользоваться NetAPI-функцией NetShareEnum (перечисляет все сетевые ресурсы на заданном сервере) с первым параметром == NULL (для локального компьютера). Подробнее - смотри в MSDN или Win32 SDK Help, который идет с Delphi.


 
Evgeny   (2002-10-30 04:57) [2]

Имеешь в виду WNetEnumResource. Пробовал я ее (она описана в SysUtils), но она не помогает для локальной машины. А именно такую машину и требуется опросить (та за которой в данный момент сидишь).


 
Петров Денис   (2002-10-31 15:12) [3]

Нет, Evgeny!
Именно NetShareEnum. Заголовок из MSDN: "The NetShareEnum function retrieves information about each shared resource on a server".
Я пользвовался ей для тех же целей - помогает. Правда, не в Delphi (sorry, но Pascal must die), а в Buildere, потому было легче - подключил хэдер и вперед.
Подробно функция описана в MSDN"е. Если не можешь найти - пиши, вышлю статью из MSDN"а.
Сложность на самом деле может возникнуть только одна - если в Delphi"йских юнитах не описан заголовок NetShareEnum, то придется либо сделать это самому (наподобие заголовков остальных API-функций), либо - написать юнит на C++, скомпилить его в .obj и прилинковать к Delphi"йскому проекту.
Кстати, насчет WNetEnuResource - не совсем верно. Эта функция позволит получить тебе ВСЕ ресурсы в сети, видимые с данного компьютера, В ТОМ ЧИСЛЕ и ресурсы локальной машины (собственно, ей пользуется Explorer, когда открывает сетевое окружение). Неудобство - пользоваться семейством функций WNetOpenEnum, WNetEnumResource и WNetCloseEnum достаточно громоздко для такой задачи, как твоя, ну, и потом придется сравнить полученные имена сетевых ресурсов с именем локальной машины. Если это устраивает - то на здоровье.


 
Evgeny   (2002-11-02 11:36) [4]

В дельфийском хэлпе функция NetShareEnum не описана, сказано только что это устаревшая функция замененная ныне на WNetEnumResource.

> В ТОМ ЧИСЛЕ и ресурсы локальной машины

А спомощью WNetEnumResource мне не удалось получить данные о локальной машине, только замапленные диски (возможно я не со всеми возможными комбинациями параметров поигрался).

> Неудобство - пользоваться семейством функций WNetOpenEnum, WNetEnumResource и WNetCloseEnum достаточно громоздко для такой задачи

В модуле SysUtils - это все уже сделано, есть готовая внутренняя функция, но как я уже сказал, что то у меня с ней не получилось.
Надо попробовать NetShareEnum. Если у тебя есть декларация на эту функцию, то переделать ее для работы в Дельфи не составляет труда. Если размер позволяет опиши здесь в форуме, если нет - вышли по адресу afro@sibovk.omskcity.com




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

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

Наверх





Память: 0.56 MB
Время: 0.033 c
6-99230
Anar
2002-10-26 15:56
2002.12.30
E-mail


1-99085
19.12.2002
2002-12-19 17:50
2002.12.30
Изменение размера компонента


1-99039
Кокандокало
2002-12-17 19:27
2002.12.30
Preloader


6-99219
Hlor
2002-11-02 01:19
2002.12.30
Вопрос с сокетами


1-99041
BorisKb
2002-12-19 10:04
2002.12.30
В динамическом массиве структур - динмчс. массив: возможно ли?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский