Russian Qt Forum
Ноябрь 23, 2024, 01:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подключение сетевых дисков  (Прочитано 6371 раз)
shaft_s
Гость
« : Февраль 08, 2008, 23:21 »

Имеется сеть windows с кучей сетевых дисков, каждый день пк перезагружается но пользователи ленятся вводить пороль (к сетевым дискам). Вопрос как программно подключить диск и ввести пароль? QT 4.2.2, win2000.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 09, 2008, 10:53 »

Можно на WinApi с использованием функции WNetAddConnection2. Если нужно подробнее, могу скинуть исходники, правда под BCB6.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
c00ker
Гость
« Ответ #2 : Февраль 11, 2008, 16:30 »

можно и проще, через system (QProcess?) выполнить net use, формат: NET USE {имя_устройства | *} [пароль | *] /HOME
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 11, 2008, 19:22 »

Оно то проще, но представь, что у тебя диск в данный момент не доступен... А через винапи можно проверить возврат (true или false) и сделать сколь угодно попыток пока не получится. Хотя это тоже ИМХО.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
shaft_s
Гость
« Ответ #4 : Февраль 12, 2008, 20:05 »

сделал через WNetAddConnection2 других вариантов пока не нашел, но привязываться к win32api особого желания нет. Спасибо за помощь!!!
Записан
Deiv
Гость
« Ответ #5 : Февраль 12, 2008, 20:36 »

сделал через WNetAddConnection2 других вариантов пока не нашел, но привязываться к win32api особого желания нет. Спасибо за помощь!!!

Пардон. Способ програмного подключения удаленных ресурсов к машине зависит от реализации клиентской части протокола, в данном случае cifs/smb.
Для винды это относительно просто. Там одна реализация, и она поддерживается самой ОС. Чтобы ею воспользоваться нужно работать с  winapi.
В линуксе например таких реализаций несколько. Поэтому здесь есть выбор. В маке, наверное, аналогично линуксу. Причем, что в линуксе, что в маке нет понятия диска (имею ввиду С: D: и т.д.). Там диски существует только как физические устройства, на которых могут быть разделы и.т.п и т.д.. Все разделы объединены в одно дерево. И при подключении расшаренной директории не создается какойто отдельный диск, а на этом дереве вырастает ещё одна ветка.

ROOT
 |->C
 |    |->Program~1
 |    `->Windows
 |->D
 |    |->Distrib
 |    `->Mp3
 `->Share_Comp2

При работе с виндой выбора вообще нет. Только "winapi". Ну ещё "net use".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 23.