Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2009, 09:54   #1
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
Вопрос Сетевой_диск- тупик!

Ув. граждане , поясните начинающему существует-ли внутренне событие в win XP при потере соединения с сетевым диском , и как возможно реализовать код на дельфи который смог-бы отключать диск при выполнении условия потери соединения с этим диском. Заранее благодарен за помощь , прошу вас учесть , варианты с ping`ом хоста диска не рассматриваются
KEV вне форума Ответить с цитированием
Старый 12.02.2009, 10:04   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

В этой статье http://pblog.ru/?p=105 написано как отследить измнения в аппаратной конфигурации, через сообщение WM_DEVICECHANGE, должно помочь
rpy3uH вне форума Ответить с цитированием
Старый 12.02.2009, 13:27   #3
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Ээх , видимо я слиииишком начинающий чтобы разобраться самому. Может кто-нить поможет бедному студенту с просветлением? Не могу разобраться какое именно событие должно произойти
Код:
DBT_DEVICEARRIVAL           = $8000; // system detected a new device
DBT_DEVICEQUERYREMOVE       = $8001; // wants to remove, may fail
DBT_DEVICEQUERYREMOVEFAILED = $8002; // removal aborted
DBT_DEVICEREMOVECOMPLETE    = $8004; // device is gone
DBT_DEVICEREMOVEPENDING     = $8003; // about to remove, still avail.
DBT_DEVICETYPESPECIFIC      = $8005; // type specific event
DBT_QUERYCHANGECONFIG       = $0017;
KEV вне форума Ответить с цитированием
Старый 12.02.2009, 18:55   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

там есть исходник, попробуй отключить сетевой диск и включить его и посмотри что выводится в лог. но скорее всего DBT_DEVICEARRIVAL
rpy3uH вне форума Ответить с цитированием
Старый 13.02.2009, 09:21   #5
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Если я всё правильно сделал и понял на примере исходника, есть элемент "logmemo" который отображает лог событий. На подключение и отключения диска работает всё превосходно, фиксируется и имя диска и его состояние , однако моя задача не решается ... При потери связи долгожданного event`а не выходит Поправьте пожалуйста если я не прав. Если есть возможность дайте намёк где почитать более подробно
KEV вне форума Ответить с цитированием
Старый 13.02.2009, 15:56   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от KEV Посмотреть сообщение
При потери связи долгожданного event`а не выходит Поправьте пожалуйста если я не прав. Если есть возможность дайте намёк где почитать более подробно
я думаю в таких случаях врядли что можно сделать. Если отрезали наш компьютер, то это ещё можно как-то извратиться (при отсоединении сетевого кабеля сообщение WM_DEVICECHANGE вроде посылается), а если отрезали отрезали целевой компьютер, то даже в голову ничего не приходит
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Попал в тупик при создании теста dimitriy1987 Помощь студентам 19 26.10.2007 09:47