Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/63: Рейтинг темы: голосов - 63, средняя оценка - 4.54
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
.NET 3.x

Отслеживание подключений USB устройств

10.02.2011, 18:39. Показов 12179. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Делал тут програмку и сталкнулся с проблемой. Вобщем программа должна при подключении к компу флешки выводить окно (в нем инфа о свободной памяти, файловая система и т.п.). Вот код(частично) (все это прописано в программ.кс)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
static void Main()
        {          
            for (; ; )
            {
                System.Threading.Thread.Sleep(1000);
                foreach (var dinfo in DriveInfo.GetDrives())
                {
                    if (dinfo.DriveType == DriveType.Removable && dinfo.IsReady == true )
                    {
                        Application.EnableVisualStyles();
                        Application.Run(new Form1());
                    
                    }
                 
                }
            }
             
        }
так вот собственно вопрос(точнее два):
1) Как заставить форму появиться только один раз?(в моем случае если форму закрыть, то она опять появиться через секунду)
2)(не по теме) Можно сделать так, что-бы прога имела доступ только к USB. ( просто при проверке дисков он трогает и дисковод, а у меня дискетный есть))) и он трешать начинает)
Всем заранее спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2011, 18:39
Ответы с готовыми решениями:

Отслеживание подключаемых USB устройств
Всем привет. Возникла надобность отслеживать подключения флэшек. Я покопался в нэте и нашёл что есть такое сообщение DBT_DEVNODES_CHANGED...

Обнаружение устройств usb
Нужно сделать так, чтобы при подключении любого устройства по usb выполнялся код. Пытался найти ответ в интернете, не получилось. Если...

Получение списка подклюнных устройств к USB
Подскажите пожалуйста, как можно получить список подключенных к USB Flash-накопителей?

5
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
10.02.2011, 19:28
Цитата Сообщение от Димон_ Посмотреть сообщение
Как заставить форму появиться только один раз?(в моем случае если форму закрыть, то она опять появиться через секунду)
Убери цикл
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
10.02.2011, 19:42
Лучший ответ Сообщение было отмечено как решение

Решение

Димон_, метод выбранный тобой конечно полное ... Всё-таки поисковиком советую иногда пользоваться.

Вот пример, его смысл состоит в том что при подключении флешки в правом нижнем углу появляется окно на подобии того что есть у KIS'а, только к данной проге можно прикрутить любой AV поддерживающий командную строку. Вот такой фигнёй я занимался поначалу Так что код там не ахти ) но понять можно.

Основа метода - это ожидание сообщения WM_DEVICECHANGE, которое посылается системой всем окнам при подключении USB устройств.

p.s. И называй темы по информативней. Тема переименована.
Вложения
Тип файла: rar USBScan.rar (305.8 Кб, 1048 просмотров)
3
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
11.02.2011, 10:28  [ТС]
Цитата Сообщение от SSTREGG Посмотреть сообщение
Димон_, метод выбранный тобой конечно полное
SSTREGG, ты про этот :
C#
1
 foreach (var dinfo in DriveInfo.GetDrives())
?

Добавлено через 17 минут
Как убрать цикл? Если мне просто стереть for (; прога будет один раз сканировать и выкл. А мне нужно что бы она всегда весела в процессах.О_о
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.02.2011, 10:33
Окно должно появиться при подключении? Ну а нафиг ты тогда проверяешь наличие? Надо ловить именно событие подключения. В крайнем случае, заведи список уже обнаруженных дисков и сравнивай с ним, а окно выводи только в том случае, если какой-нибудь диск в списке отсутствует. При этом заноси его в список и при следующей проверке условие уже будет фолз. Ну а если диск из списка отсутствует, то удаляй его из списка, тогда при новом подключении условие снова будет тру и окно выскочит.

Добавлено через 1 минуту
Флоп начинает трещать уже при
C#
1
DriveInfo.GetDrives()
?
0
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 64
23.10.2014, 13:55
а какая библиотека при этом используется?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2014, 13:55
Помогаю со студенческими работами здесь

Отслеживание подключения USB устройств
Требуется написать консольное приложение (в дальнейшем службу) отслеживать любое подключение USB устройств и запись всей информации об...

Написать программу, которая будет отслеживать подключение USB-устройств
Хочу написать программу которая будет отслеживать подключение usb устройств(флешек хардов и д.р. съемных накопителей). В общем суть проги...

Определение подключенных usb устройств
Здравствуйте форумчане. Пишу программу, которая при подключении съемного диска проводит сканирование на наличие файлов .inf. Список...

Отслеживание подключений
Здравствуйте! Делаю клиент-серверное приложение и сервер работает так: создается сервер и ожидает подключения. После того, как клиент...

Отслеживание подключений по Wi-Fi
День добрый форумчане, собственно вопрос: написал программу которая включает сеть wi-fi, как сделать так, чтобы она сворачивалась в трей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru