| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Список сетевых дисков на удаленном ПК |
| Автор: progmax 5.2.2007, 12:41 |
| Добрый день уважаемые форумчане! Сейчас пишу клиент-серверное приложение и хочу в нем реализовать функцию добавления сетевого диска (клиент посылает команду и сервер выполняет ее на удаленном ПК). Неплохо было бы просмотреть список уже подключенных сетевых дисков, а вот как это сделать не знаю. Подскажите пожалуйста! |
| Автор: Snowy 5.2.2007, 12:46 | ||||
Перебирай все диски в системе и проверяй их на DRIVE_REMOTE.
Добавлено @ 12:48
|
| Автор: progmax 5.2.2007, 12:52 | ||||||
Большое спасибо, Snowy! Буду пробовать. |
| Автор: Snowy 5.2.2007, 13:59 | ||
Вот развёрнутый код-пример, выводящий информацию о всех сетевых дисках:
|
| Автор: progmax 6.2.2007, 12:50 | ||||
| Все красиво заработало (большое спасибо Snowy за помощь). Но вот столкнулся с маленькой проблемкой. 1. Клиент посылает на сервер строку:
2. Сервер принимает строку и сравнивает:
3. Процедура Proc_Status_NetDisk с помощью цикла (приведенного выше) отправляет данные клиенту (для этого на серверной части также поместил компонент ClientSocket, а на клиентской - ServerSocket). После чего данные заносятся в ListBox. Но по какой-то причине приходится 2 раза вызывать оператор Clientsocket1.Socket.SendText('Status_NetDisk') (пункт 1) чтобы данные отобразились в ListBox. При первом нажатии строка "Status_NetDisk" посылается, на сервере идет обработка, но ничего не передается обратно. Подскажите, пожалуйста, из-за чего это может быть. Кстати, раньше я тоже сталкивался с подобной ситуацией, но так с ней и не разобрался. Может можна как-то по другому отрганизовать ответ сервера, без поднятия на нем компонента ClientSocket и в свою очередь ServerSocket на клиентской части. |
| Автор: Snowy 6.2.2007, 12:56 |
| Это уже совсем другой вопрос. Ты принципиально неправильно делаешь. Зачем тебе второе соединение?! У тебя же уже есть сокет. В него и отправляй. Никаких вторых клиент-серверов не нужно! Соединение есть. С ним и работай. В него и отправляй ответ. |