Отловить событие (новый диск)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Отловить событие (новый диск)

Сообщение Shurrik » 26.12.2008 (Пт) 4:54

Подскажите, пожалуйста, возможно ли программно отловить события появления или удаления нового диска (например, флэшки).
Сейчас я это делаю по таймеру, а хотелось бы что-то аналогичное FileSystemWatcher.
Колесо: Хочешь жить? Умей вертеться.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Отловить событие (новый диск)

Сообщение Williams » 27.12.2008 (Сб) 16:52

Наиболее простой способ это проверять список подключенных дисков, в .NET есть соответствующий класс
И вы думаете, что вас оставят в живых после прочтения этого поста?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Отловить событие (новый диск)

Сообщение Ramzes » 27.12.2008 (Сб) 19:05

Williams, это все равно надо делать по таймеру, и в момент подключения флешки, не сработает.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Отловить событие (новый диск)

Сообщение Williams » 27.12.2008 (Сб) 20:07

Ramzes писал(а):Williams, это все равно надо делать по таймеру, и в момент подключения флешки, не сработает.


Есть моя прога сделанная таким образом, работает нормально. Может быть там есть какие-то тонкости (давно делал), но в общем принцип такой же.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Отловить событие (новый диск)

Сообщение Alexanbar » 29.12.2008 (Пн) 9:49

WM_DEVICECHANGE

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Отловить событие (новый диск)

Сообщение Sebas » 29.12.2008 (Пн) 10:07

также можно и WMI мониторинг
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Отловить событие (новый диск)

Сообщение Williams » 29.12.2008 (Пн) 15:27

Alexanbar писал(а):WM_DEVICECHANGE

В моем случае этот способ не подошел по причине того, что приложение было реализованно в виде сервиса. Разрешать доступ с десктопу был не вариант.

Мой способ самый оптимальный, для сторонников минималистики :) Таймер не нужен! ))
И вы думаете, что вас оставят в живых после прочтения этого поста?

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Re: Отловить событие (новый диск)

Сообщение Shurrik » 30.12.2008 (Вт) 6:26

А хоть одну строчку кода слабо?
Колесо: Хочешь жить? Умей вертеться.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Отловить событие (новый диск)

Сообщение Sebas » 30.12.2008 (Вт) 12:56

Shurrik писал(а):А хоть одну строчку кода слабо?


Ты кого здесь на слабо захотел взять? А денег заплатить слабо?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Отловить событие (новый диск)

Сообщение Ramzes » 30.12.2008 (Вт) 15:00

MessageBox.Show("Hello World")

:D

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Отловить событие (новый диск)

Сообщение MIT » 04.01.2009 (Вс) 21:11

Между делом нашел очень хороший пример реализации поставленной идеи

Но подобное высказывание
Shurrik писал(а):А хоть одну строчку кода слабо?
Вызывает некоторо ооторжение.
2Ramzes , Sebas: как вы считаете, стоит удовлетворить пытливый ум тов. Shurrik`а готовым проектом?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Отловить событие (новый диск)

Сообщение Ramzes » 04.01.2009 (Вс) 22:19

Тут публичный форум, и кроме него это может пригодиться еще кому, и если есть возможность ответить, и тебе не лень, тогда да, стоит.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Отловить событие (новый диск)

Сообщение MIT » 04.01.2009 (Вс) 23:01

Тогда отвечаю.

Вот, пожалуйтса, умная статья. Написана, правда, на VB6, но переписать, думаю - не проблема.

Вот пример из статьи
ROMMonitor.zip
VB6
(15.05 Кб) Скачиваний: 51


Есчо:
Vb.Net/WMI статья
По результатам гуглинга:
статья 1
статья 2
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Re: Отловить событие (новый диск)

Сообщение Shurrik » 06.01.2009 (Вт) 6:16

Я, безусловно, извиняюсь перед теми, кого задело мое «слабо».
Так же извините, но мне совсем не нужны ответы не на мой вопрос.
Огромное спасибо MIT. В одной из пяти данных им ссылок затесалось то, что меня интересует. Возможно, кому-то нужно отслеживать CDROM, но меня интересовало событие, когда появляется новый логический диск. А это не одно и тоже.
Колесо: Хочешь жить? Умей вертеться.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 29

    TopList