2016-01-27 1 views
0

Obtenir une notification d'ajout/suppression de périphérique dans Vista + est trivial, mais je n'arrive pas à trouver une API qui fonctionne avec Windows XP qui me permet d'obtenir une notification lorsqu'un périphérique audio est ajouté ou supprimé. La meilleure solution que j'ai pu trouver est d'interroger mixerGetDevCaps et de chercher des changements, mais cela ne semble pas être idéal.Windows XP Win32 API pour détecter l'ajout/suppression de périphériques audio?

Quelle est la meilleure API Win32 à utiliser pour détecter les périphériques audio ajoutés ou supprimés qui fonctionnent avec Windows XP SP2 +?

+2

[RegisterDeviceNotification] (https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa363431.aspx). – IInspectable

Répondre

1

L'indicateur de IInspectable m'a laissé à la notification de fenêtre de WM_DEVICECHANGED, qui est la réponse que je cherchais. Cela nécessite une fenêtre de travail qui, même si elle n'est pas idéale, est suffisante pour mes objectifs.

+2

C'est ce que [Windows uniquement pour les messages] (https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms632599.aspx#message_only) sont pour. – IInspectable

+1

Alternativement, un service peut utiliser 'RegisterDeviceNotification()' pour demander des notifications 'SERVICE_CONTROL_DEVICEEVENT', qui contiennent la plupart des informations fournies par' WM_DEVICECHANGED', mais sans avoir besoin d'une fenêtre pour le recevoir. –