2009-02-11 13 views
4

Y at-il un moyen de désactiver un périphérique de manière programmatique? (de préférence dans .net, win32, ou par lot).Désactiver le périphérique dans le gestionnaire de périphériques (Vista x64) par programmation

La plupart des résultats sur google suggèrent l'utilisation de devcon mais ne semble pas fonctionner sous Windows Vista/7 64bit.

How do I disable a system device? a une solution utilisant SetupDiSetClassInstallParams mais cela ne fonctionne pas non plus pour Vista64.

+0

Des mises à jour? J'ai eu le même problème avec mon ordinateur portable Windows 7, ne peut pas redémarrer l'un des périphériques USB via devcon. – ProfessionalAmateur

Répondre

2

La version 32 bits de devcon ne fonctionne pas complètement dans l'émulation WoW64; Je l'ai vu échouer à désactiver les appareils aussi bien. Le Windows Driver Kit inclut une version 64 bits de devcon, qui fonctionne. Il inclut également le code source à devcon, de sorte que vous pouvez voir que devcon est juste un wrapper pour l'API d'installation.

Lorsque vous avez essayé d'appeler directement l'API d'installation, s'agissait-il d'un processus 32 bits ou 64 bits? Basé sur des expériences en utilisant devcon, je soupçonne que vous avez besoin d'appeler l'API d'installation à partir d'un processus 64 bits.