Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Полные пути и относительные пути (которые видно по локальной сети) / 11 сообщений из 11, страница 1 из 1
30.07.2014, 03:48
    #38708644
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Есть сервер (программа вещает видеофайлы, рекламу, обьявления и т.д. для телевидения) и клиент, откуда управляется сервером (станцией).

Сначало сетки не было. Режим №1 - это освящение файла (переименование с хеш кодом в имени файла, в котором зашифровано дату показаи другие параметры графика). Файлы на станцию носили флешками, винчестерами.

Режим №2 - интернет. Разработал массу функций, всевозможные манипуляции с файлами через интернет, подобно тому как работает Anyplace Control + таким же образом был косвенный коннект с базой данных. Есть крошечные недочеты, так как многое предвидеть сложно, но схема работает по TCP протоколу через socket без отказа.


Режим №3 - рассчитан на локальную сеть (недавно сделали прямую связь оптикой) и я по быстрому доделал режим, но есть одно но...

Из клиента я вижу к примеру путь \\192.168.1.25\ или \\Studio\ или как подключенный диск Z:\ а на самом деле на сервере эта папка называется D:\std\

Я так понял получить из относительно пути "\\192.168.1.25\" полный "D:\std\" не получится программно никак ?
Пока что заменил обучением через обычный одноразовый ввод inputbox()
...
Рейтинг: 0 / 0
30.07.2014, 03:53
    #38708645
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
придется просто снова по tcp переспрашивать в сервера папки и файлы. неудобность в том, что в бравзере OpenDialog удобней чем через самопал, но если не будет выхода, придется делать что умею
...
Рейтинг: 0 / 0
30.07.2014, 09:23
    #38708703
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Андрей159Из клиента я вижу к примеру путь \\192.168.1.25\ или \\Studio\ или как подключенный диск Z:\ а на самом деле на сервере эта папка называется D:\std\

Я так понял получить из относительно пути "\\192.168.1.25\" полный "D:\std\" не получится программно никак ?
Да легко...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 4",,48) 
For Each objItem in colItems 
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_LogicalDisk instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "ProviderName: " & objItem.ProviderName
Next
...
Рейтинг: 0 / 0
30.07.2014, 09:24
    #38708704
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Для преобразования же шары в локальный на сервере путь нужен аналогичный запрос к серверу.
...
Рейтинг: 0 / 0
31.07.2014, 00:47
    #38709599
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Ошибка 70. В разрешении отказано.

Если не получается узнать клиенту как перевести разшаренную папку на сервере, то мне бы хоть узнать из стороны сервера. Тоесть я бы мог сделать, чтоб сервер сам посмотрел у себя и шару преобразовал в название полного пути.

Кроме strComputer = "STU-0e8f9862d0e" пробовал из вашего примера strComputer присвоить "127.0.0.1" или "." но папок с открытым доступом не увидел (пусто, ничего не выдает), хотя папки такие присутствуют. Потом попробовал на диск D: открыть доступ (комп. не перегружал), запустил программу - пусто. Убрал "WHERE DriveType = 4" - дает логические диски моего комп'ютера. А шару пока не удалось програмно увидеть ни на локалке ни на серваке. Без условия "WHERE" должно было быть хоть что-то. Или вместо "Win32_LogicalDisk " должно быть что-то другое или что-то в винде отключено

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Command1_Click()
    strComputer = "STU-0e8f9862d0e"
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 4", , 48)
    For Each objItem In colItems
        Debug.Print "-----------------------------------"
        Debug.Print "Win32_LogicalDisk instance"
        Debug.Print "-----------------------------------"
        Debug.Print "Name: " & objItem.Name
        Debug.Print "ProviderName: " & objItem.ProviderName
    Next
End Sub

...
Рейтинг: 0 / 0
31.07.2014, 01:31
    #38709611
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Поискал в направлении winmgmts и методом тыка добился рабочего кода, которого достаточно чтобы реализовать задуманное.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Command1_Click()
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Share WHERE TYPE=0")
    For Each objItem In colItems
        Debug.Print objItem.Name & " = " & objItem.Path
    Next
End Sub



Таблица Win32_Share отвечает за шару. Попробовал TYPE - на шару показывает 0, на диск какие-то отрицательные числа. Попробовал - все показывает. Path догадался.

Спасибо за подсказку
...
Рейтинг: 0 / 0
31.07.2014, 01:36
    #38709612
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
а... хотя не проверял еще вариант подключенных дисков. Может ваш пример показывает именно когда подключить удаленный путь как букву диска (упоминалось). Благодарен.
...
Рейтинг: 0 / 0
31.07.2014, 01:44
    #38709614
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Работает. Спасибо.
№1. Узнаем все папки с открытым доступом
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Command1_Click()
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Share WHERE TYPE=0")
    For Each objItem In colItems
        Debug.Print objItem.Name & " = " & objItem.Path
    Next
End Sub



№2. Узнаем все подключенные сетевые диски
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Command2_Click()
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 4")
    For Each objItem In colItems
        Debug.Print objItem.Name & " = " & objItem.ProviderName
    Next
End Sub
...
Рейтинг: 0 / 0
31.07.2014, 03:08
    #38709623
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Андрей159,

честно не вникал в то что ты делаешь.
Но вставлю свои 5 копеек.
Не люблю WMI. Использовал его для получения списка модемов в системе.
Но недавно полностью отказался в пользу SetupDi...-API-ф-ций.
Получил существенное увеличение скорости процедуры и отсутствие одного старого глюка, кот. с WMI приходилось маскировать перепроверкой-доделкой реестра.

М.б. и для твоей задачи что-то есть получше.
...
Рейтинг: 0 / 0
31.07.2014, 10:43
    #38709775
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Судя по тому что у меня есть, что знаю и расспрашиваю, то у меня такой конь, всем коням конь... но я этой херней не страдаю. Меня бесит, когда до мелочи пол шага и никто ничего не знает и как-бы никому не надо. А мне надо. Вот с UPnP (P2P) вроде почти все ясно, а не работает. Может посоветуешь какой-то рабочий "TracePlus Ethernet" крякнутый. "Wireshark" не справляется з задачей. Задача в том чтобы, мой сервер включился на станции и вещал через порт Plug And Play что он есть, я бы избавился от перешивки роутера, а то время от времени этот TP-Link игнорирует переадресацию и приходится его полностью с розетки отключать на 10 сек. Это я о незаконченных делах...

WMI меня конкретно подвела на системе Linux. Как будет кроме XP на других виндах пока не знаю. Windows 8.1 очень капризный, ощущение, что его почти заново переписали и в многом не успели доделать. Лучше не трогать этот вопрос, а то меня понесет.
...
Рейтинг: 0 / 0
31.07.2014, 16:31
    #38710197
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полные пути и относительные пути (которые видно по локальной сети)
Андрей159WMI меня конкретно подвела на системе Linux. Как будет кроме XP на других виндах пока не знаю.,.
Ну, что касается модемов, WMI на 8.1 работает точно также.
Некоторые вещи на 8.1 работают, но тормозят, но конкретно про WMI вроде не заметил, оно и так слегка тормознутое.
Например сильно тормозит GetDefaultCommConfig function , пришлось менять на QueryDosDevice function , слово DOS звучит нелепо, но вот летать стало. Но тормозило начиная с Висты, просто руки не дошли.
Как нормальным кодом получить список всех модемов и COM-портов в системе?

А вообще все надо проверять на всех OS. На XP-тесты рассчитывать нельзя.
Но опыт показывает, что то что работает на Висте (самое паршивое, капризное и тормознутое из "новых"), то это как правило будет работать на 7, 8 и 8.1 практически без доделок.

Андрей159Windows 8.1 очень капризный ощущение, что его почти заново переписали и в многом не успели доделать.
Ты будешь ругаться, но 8.1 мне нравится больше чем семерка.
Недоработки, да, есть. Например большие проблемы возникают с ассоциациями файлов, связано с неувязками с новыми App из Store - крайне непродумано.
Но в целом 8.1 сильно лучше, те же драйвера устанавливаются на порядок быстрее. Общая тормознутость отсутствует, в 7-ке ее таки хватает, про висту вообще молчу. У меня ноут с 7-кой 4-летней давности тормозит так, что хочется по нему стукнуть, причины так и не нашел, переустанавливать неохота.
То что убрали Аэро и споры вокруг START меню -по большому счету фигня.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Полные пути и относительные пути (которые видно по локальной сети) / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]