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

Soyez le premier à donner votre avis sur cette source.

Vue 8 776 fois - Téléchargée 657 fois

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

Ajouter un commentaire Commentaires
Messages postés
4
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
16 mai 2011

Le code ne semble pas fonctionner sous Windows 7. L'évènement Autorun du composant AutorunNotifier n'est jamais déclenché... Comment faire pour désactiver la fenêtre exécution automatique lors de l'insertion d'une clé usb? QUelqu'un a une idée?
Merci d'avance.
Messages postés
35
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
2 juin 2015

Tres bien ton programme, mais ne sois pas etonné si tu ne trouves pas de commentaire car c'est comme ca ca se passe quand on projet est créé sous une version plus recente que VB6

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.