I have an application (.Net Compact Framework 3.5) running on a Windows Mobile 6.1 device and I want to detect when the USB connection changes (either something connects or disconnects).
I was originally using the SystemProperty.CradlePresent
property to trigger an event but I am wondering if this only works if the device connecting has ActiveSync? I will be receiving a connection via USB from a Linux device that does not have ActiveSync running on it.
Can I still use SystemProperty.CradlePresent
to detect the connect/disconnect from the USB? Or do I need to explore other options to detect the USB event? Thanks.
The device or dongle isn't connected to the correct USB-C port on your PC (or phone). The device or dongle is connected to your PC (or phone) using an external hub or dock. There are too many other devices or dongles connected to your PC (or phone) that use a USB-C connection.
This issue can be caused if any of the following situations exist: The currently loaded USB driver has become unstable or corrupt. Your PC requires an update for issues that may conflict with a USB external hard drive and Windows. Windows may be missing other important updates hardware or software issues.
Under “Related settings,” click Device Manager to bring up a list of devices. Double-click Universal Serial Bus controllers in the list to reveal the actual controller. It should read something like “USB 3.0 eXtensible Host Controller.” Give that a right-click, then choose Properties.
Perhaps this previous question of mine may help:
How can I detect a USB disconnect event? (Windows, .NET C# application)
I ended up listening for and handling WM_DEVICECHANGE
events. They are specified here: http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx
Unfortunately I don't have a copy of the source code anymore so my memory on it is a bit hazy. I don't know if this solution applies in your context.
Check this out, you might be able to grab part of the source code. Its written in C# with a GUI. Keep in mind every time you have a program running that is checking for new USB drives, it will take up memory and CPU so you might want to tone down the intervals at which it checks and then supply a "refresh" button for impatient users.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With