Обнаружение USB-соединения - C # .Net CF 3.5 - PullRequest
12 голосов
/ 23 марта 2011

У меня есть приложение (.Net Compact Framework 3.5), работающее на устройстве Windows Mobile 6.1, и я хочу определить, когда меняется USB-соединение (что-то подключается или отключается).

Изначально я использовал свойство SystemProperty.CradlePresent для запуска события, но мне интересно, работает ли это только в том случае, если на подключаемом устройстве есть ActiveSync?Я получу соединение через USB от устройства Linux, на котором не работает ActiveSync.

Можно ли по-прежнему использовать SystemProperty.CradlePresent для обнаружения подключения / отключения от USB?Или мне нужно изучить другие варианты обнаружения события USB?Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

Возможно, этот мой предыдущий вопрос может помочь:

Как я могу обнаружить событие отключения USB? (Windows, приложение .NET C #)

В итоге я прослушал и обработал WM_DEVICECHANGE события. Они указаны здесь: http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx

К сожалению, у меня больше нет копии исходного кода, поэтому моя память немного мутная. Я не знаю, применимо ли это решение в вашем контексте.

1 голос
/ 07 апреля 2011

Отметьте это , возможно, вы сможете получить часть исходного кода. Он написан на C # с графическим интерфейсом. Помните, что каждый раз, когда у вас работает программа, которая проверяет наличие новых USB-накопителей, она будет занимать память и ЦП, поэтому вы можете захотеть уменьшить интервалы, с которыми она проверяет, а затем предоставить кнопку «Обновить» для нетерпеливых пользователей.

...