Заставить win8 обновить подключенный диск

У меня есть NAS в моей домашней сети, и он отображается как диск K:. Иногда NAS не готов, когда запускается win, и диск отображается с красным крестиком в проводнике. Если я щелкну диск с показанным X, он сразу же отобразит папки, предполагая, что теперь он сопоставлен, но не был во время запуска.

У меня есть очень простой MP3-плеер, который я написал, который считает, что win red-X, а не фактический статус подключенного диска, если это имеет смысл. Если я нажимаю файл MP3 для воспроизведения, он говорит, что диск недоступен. Если я сначала щелкну диск в проводнике, а затем файл MP3, он работает нормально.

Как я могу добавить «обновление» для этого состояния подключенного диска в моем MP3-плеере?


person Community    schedule 04.05.2014    source источник


Ответы (1)


Я видел, как кто-то предложил обходной путь по сценарию для этого - просто попробуйте получить доступ к пути, на который указывает диск. Если ваш диск Z: указывает на \\server\share, это может сработать (для использования в пакетном сценарии):

pushd \\server\share

Программно вы можете попробовать использовать WNetAddConnection2 с аргументами, отражающими параметры подключенного диска. Примерный алгоритм:

  1. получить статус подключения к диску (WNetGetConnection)
  2. если статус ERROR_CONNECTION_UNAVAIL, используйте WNetAddConnection2 для повторного подключения

Взгляните на функцию WNetRestoreConnectionW в МСДН. Там пользователь Chesare 14.01.2011 опубликовал пример кода переподключения (на C/C++).

p.s. Все это не проверено, но может сработать у вас - попробуйте ;)

person iPath ツ    schedule 04.05.2014
comment
Спасибо, но ничего, кроме нажатия на подключенный диск в проводнике, похоже, не работает. - person ; 09.05.2014