inscrire à un événement dans Windows
-
27-09-2019 - |
Question
Salut Je veux faire quelque chose quand un bâton de mémoire attaché au PC. Maintenant, j'utilise une minuterie et vérifier dans chaque tick si une clé USB est branché (utiliser DriveInfo ou avec interrogation WMI) Y at-il un événement modèle axé sur la disposition à faire? par exemple j'utiliser un événement dans mon programme qui relance chaque fois qu'une clé USB est branché à l'ordinateur?
La solution
Vous voulez gérer les WM_DEVICECHANGE message dans votre wndproc. Lorsque vous gérez, vous pouvez également appeler RegisterDeviceNotification
pour obtenir la notification que le bâton est proprement éjecté.
Lorsque vous recevez un WM_DEVICECHANGE
, vous voulez vérifier la wParam - DBT_DEVICEARRIVAL
(0x800) est ce que vous cherchez
En C ++, vous devriez avoir aucun problème avec le wndproc. En c #, vous voulez remplacer votre principale forme de la méthode de vérification et WndProc m.Msg == 0x219
et m.WParam == 0x800
. Notez que tous ces éléments vont être un bâton de mémoire -. Mais vous pouvez l'utiliser pour vous informer pour vérifier l'insertion d'entraînement plutôt que d'une minuterie