Для мониторинга общего сетевого ресурса вы можете использовать RegistryKeyChangeEvent.
- RegistryKeyChangeEvent находится в корневом каталоге \ default.(Не root \ CIMV2, который используется .net по умолчанию)
- Информация о точке монтирования хранится в реестре в: HKEY_CURRENT_USER \ Network.Но RegistryKeyChangeEvent не может отслеживать HKEY_CURRENT_USER (облом).Таким образом, вам нужно будет получить к нему доступ: HKEY_USERS \ S-1-5-18 \ Network (где S-1-5-18 - SID вашего пользователя).
- Чтобы определить SID вашего пользователя, проверьтеследующий путь реестра: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList.
Окончательный код должен выглядеть примерно так:
Dim m As New ManagementEventWatcher("root\default", "SELECT * FROM RegistryKeyChangeEvent WHERE Hive=""HKEY_USERS"" AND KeyPath=""<YOUR USER SID HERE>\\Network""")
AddHandler m.EventArrived, AddressOf <YOUR HANDLER FUNCTION>
m.Start()
Этот код будет вызывать обработчикработает каждый раз, когда пользователь монтирует или отключает общий сетевой ресурс.