J'ai eu ce problème pendant un moment maintenant mais je dois y remédier car je dois y faire face maintenant. J'essaie de détecter quand un périphérique est connecté au système dans Windows 7 et je reçois le WM_DEVICECHANGE très bien, mais le message dans wParam est toujours DBT_DEVNODES_CHANGED. Jamais un DBT_DEVICEARRIVAL ou DBT_DEVICEREMOVECOMPLETE. Je n'ai pas eu de chance de googler jusqu'à présent donc j'espère que quelqu'un me pointera dans la bonne direction avant de trouver quelque chose dans quelques heures :) Merci pour votre temps.Comment détecter lorsqu'un périphérique est ajouté au système?
Répondre
La documentation indique que les événements DBT_DEVICEARRIVAL et DBT_DEVICEREMOVECOMPLETE doivent être reçus par défaut. L'application peut s'inscrire pour recevoir des événements plus détaillés en appelant la fonction RegisterDeviceNotification. J'espère que vous recevrez les événements dont vous avez besoin après l'enregistrement de votre application. Veillez à appeler UnregisterDeviceNotification lors de la fermeture.
référence RegisterDeviceNotification:
http://msdn.microsoft.com/en-us/library/aa363431%28v=VS.85%29.aspx
P/Invoke Signature:
http://pinvoke.net/default.aspx/user32.RegisterDeviceNotification
référence UnregisterDeviceNotification:
http://msdn.microsoft.com/en-us/library/aa363475%28v=VS.85%29.aspx
P/Invoke Signature:
http://pinvoke.net/default.aspx/user32.UnregisterDeviceNotification
Merci beaucoup Fletcher. J'ai réussi à faire cela pour Qt4. Qt4 (.6.3) Les utilisateurs peuvent ajouter les fichiers #include
normalement mais vous aurez besoin d'ajouter un peu #defines
à votre fichier .h:
#define _WIN32_WINNT 0x0501
#define _WIN32_WINDOWS 0x0501
#define WINVER 0x0501
de sorte que les fenêtres types de données comme DEV_BROADCAST_HEADER
peuvent être reconnus. Aussi le numéro de version que je suppose dépend de votre plate-forme Windows mais pas sûr (j'utilise gagner 7 atm). N'oubliez pas non plus d'ajouter les bibliothèques à vos fichiers .pro LIBS += "C:\Qt\2010.04\mingw\lib\<library_file>"
si vous avez installé dans la position par défaut qui est.
- 1. Comment détecter lorsqu'un périphérique connecté au système est prêt à être utilisé?
- 2. Détecter si périphérique tactile
- 3. Comment détecter le nom de périphérique d'un périphérique de capture?
- 4. Comment détecter un périphérique sur le réseau?
- 5. Retard ajouté au son
- 6. Comment détecter depuis quand un utilisateur est connecté au système avec .NET (C#)?
- 7. Comment détecter si l'heure du système est modifiée? (De .net)
- 8. Comment détecter une date de retour système?
- 9. Comment détecter quelle langue le système actuel
- 10. Quelles informations de périphérique HID sont renvoyées dans LParam lorsqu'un périphérique est signalé par le système?
- 11. Détecter si le système d'exploitation Windows est en C++
- 12. Comment détecter le volume actuel du périphérique audio
- 13. Comment détecter une requête provenant de quel périphérique utilisant PHP?
- 14. iPhone, comment détecter quand le contrôle est retourné au navigateur?
- 15. Qt - comment détecter quelle application est mise au point
- 16. Java swing: comment détecter quand la souris est au repos
- 17. Comment détecter quel mutex donne le plus de temps au système d'exploitation?
- 18. Est-il possible de détecter si un moteur de recherche Opensearch spécifique a été ajouté au navigateur?
- 19. API Bluetooth pour détecter la radio sur un périphérique distant
- 20. Création d'un utilisateur dans Active Directory: Un périphérique connecté au système ne fonctionne pas
- 21. Comment vérifier si un périphérique USB donné est branché?
- 22. Comment détecter l'interfaceRotation d'un iPad au démarrage?
- 23. Comment détecter si HPET est disponible
- 24. Détecter les frameworks ajoutés au projet?
- 25. Détection d'un élément d'onglet ajouté au contrôle d'onglet WPF
- 26. NServicebus ajouté au service Windows hérité
- 27. .licx doit être ajouté au projet principal?
- 28. Auto Détecter le périphérique Windows Mobile par programme
- 29. Comment détecter le système d'exploitation à partir d'une application Silverlight?
- 30. Comment puis-je aller directement au panier avec l'article ajouté