Обнаружение соединения USB - С#.Net CF 3.5
У меня есть приложение (.Net Compact Framework 3.5), работающее на устройстве Windows Mobile 6.1, и я хочу определить, когда изменяется соединение USB (что-то соединяется или отключается).
Первоначально я использовал свойство SystemProperty.CradlePresent
для запуска события, но мне интересно, работает ли это только в том случае, если на устройстве установлено ActiveSync? Я получаю соединение через USB с устройства Linux, на котором не работает ActiveSync.
Могу ли я использовать SystemProperty.CradlePresent
для обнаружения соединения/разъединения с USB? Или мне нужно изучить другие возможности для обнаружения события USB? Спасибо.
Ответы
Ответ 1
Возможно, этот предыдущий мой вопрос может помочь:
Как я могу обнаружить событие отключения USB? (Windows,.NET С#)
Я закончил прослушивание и обработку событий WM_DEVICECHANGE
. Они указаны здесь: http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx
К сожалению, у меня больше нет копии исходного кода, поэтому моя память на нем немного туманна. Я не знаю, применяется ли это решение в вашем контексте.
Ответ 2
Отметьте этот, вы можете получить часть исходного кода. Его написано на С# с графическим интерфейсом. Имейте в виду, что каждый раз, когда у вас есть программа, которая проверяет наличие новых USB-накопителей, она будет занимать память и процессор, поэтому вам может потребоваться изменить интервалы, на которые он проверяет, а затем предоставить кнопку "Обновить" для нетерпеливых пользователей.