2011-03-23 93 views
12

我有一個運行在Windows Mobile 6.1設備上的應用程序(.Net Compact Framework 3.5),並且我想要檢測USB連接何時更改(連接或斷開連接)。檢測USB連接 - C#.Net CF 3.5

我最初使用SystemProperty.CradlePresent屬性來觸發一個事件,但我想知道這是否只適用於設備連接有ActiveSync?我將通過USB從未運行ActiveSync的Linux設備接收連接。

我仍然可以使用SystemProperty.CradlePresent來檢測USB連接/斷開連接嗎?或者我需要探索其他選項來檢測USB事件嗎?謝謝。

+1

您正在通過USB將Linux設備連接到WM6設備? USB具有主/從架構; 2 _devices_不能直接通信,但必須通過_host_進行通信。 – MSalters 2011-03-24 09:20:19

+0

WM6設備僅通過Socket連接從Linux設備接收數據。我只是試圖確定是否可以使用上面提到的SystemProperty來檢測Linux設備何時通過USB連接。 – 2011-03-24 13:34:36

+0

我與MSalters。聽起來你並不完全瞭解USB。你將成爲一個奴隸裝置。如果這變成了某種形式的套接字,那麼我們是否假設你有一個驅動程序可以做到這一點?司機是否有任何通知? – ctacke 2011-03-24 15:22:39

回答

1

檢查this出來,你可能會抓住部分源代碼。它用C#編寫的GUI。請記住,每當運行程序檢查新的USB驅動器時,它都會佔用內存和CPU,因此您可能需要縮短它檢查的時間間隔,然後爲不耐煩的用戶提供「刷新」按鈕。

+0

該文章中描述的方法使用事件處理程序,而不是輪詢方法。它不應該是CPU或內存密集型。 – Jon 2011-04-06 20:53:29