Contrôler l'autorun de windows xp (et supérieur) et les notifications de devices

Description

Ce code permet d'annuler l'autorun par la méthode de l'enregistrement d'un objet COM implémentant IQueryCancelAutoplay dans la Running Object Table.

Il n'utilise pas la méthode de subclassing de WndProc pour gérer le message QueryCancelAutoplay dans la mesure où il oblige la fenêtre quiveut le recevoir à être en foreground.

Ce code montre aussi la gestion du message WM_DEVICECHANGE pour détecter les insertions/débranchement de périphériques.

Ces deux fonctionnalités sont implémentée dans des composants :
-> le composant DeviceChange qui se dépose sur une form et sa propriété Form doit être définie à la form sur laquelle il se trouve. Ensuite l'event DeviceNotification se déclenchera à chaque notification de périphérique
-> le composant AutorunNotifier se dépose sur une form. Il faut ensuite définir sa propriété Parent à l'instance de la form qui le contient. Sa méthode Start doit être appelée au minimum au moment de l'event Load de la form et sa méthode Stop au moment de la FormClosing. Ce composant déclenche son event Autorun pour vous permettre de désactiver l'autorun à l'aide de la propriété e.Cancel du second argument de l'event Autorun. A noter que vous avez au maximum trois secondes pour répondre sans quoi, le shell exécutera l'autorun.

Conclusion :


N'hésitez pas à commenter et à noter !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.