c ++, windows 7: распознать USB-накопитель и подключить USB-идентификатор? - PullRequest
1 голос
/ 17 ноября 2011

Я хотел бы написать программное обеспечение, которое автоматически копирует некоторые файлы на флэш-накопитель USB, когда он подключается к порту USB. для этого я хотел бы знать:

  1. как мне написать приложение на c ++, которое получает уведомление при подключении USB-накопителя?

  2. есть ли способ идентифицировать USB-накопитель, чтобы я мог отслеживать, был ли уже вставлен новый USB-накопитель?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

я думаю, что вы можете использовать окно сообщения WM_DEVICECHANGE, чтобы получать уведомления, когда устройство вставляется или удаляется из системы, вот ссылка для дальнейшего чтения http://msdn.microsoft.com/en-us/library/windows/desktop/aa363480%28v=vs.85%29.aspx

1 голос
/ 18 ноября 2011

Ответ Кристера охватывает основы. Что он не имеет в виду, так это как делать (2), идентифицируя это. Вы ищете событие прибытия DBT_DEVTYP_DEVICEINTERFACE. Это событие содержит dbcc_name, которое идентифицирует точное устройство. (При условии, что устройство соответствует спецификации USB и имеет уникальный серийный номер; не ожидайте, что дешевые китайские устройства будут.)

...