Comment puis-je supprimer un disque mémoire flash USB par programmation à l'aide de delphi?
Comment puis-je détecter et de supprimer un disque flash USB par programmation à l'aide de delphi?
J'ai vu certains des exemples cités dans ce site web, mais ils n'ont pas d'explication claire sur la façon d'aller à ce sujet!
Veuillez exemples va vraiment aider!
Vous devez vous connecter pour publier un commentaire.
C'est un moyen rapide et sale de la traduction de cet exemple de code pour retirer un disque, à partir de support.microsoft.com. Il ne fait toutefois travailler seulement pour les utilisateurs avec des autorisations d'administrateur sur mon système.
Pour plus d'informations sur le travail avec les périphériques USB en général de suivre le lien dans cette réponse par concept03.
RootName := ADrive + ':\';
travaillé 😀La clé pour retirer une clé USB, d'utiliser les CM_Request_Device_Eject fonction,
Vérifier cet échantillon delphi application, fondées sur le présent article
Comment Préparer un Disque dur USB pour le Retrait en toute Sécurité
et qui utilise leJEDI Bibliothèque d'API & Code de Sécurité de la Bibliothèque
Ce n'éjecte pas le disque, mais il emporte le lecteur tampons et fait-il sécuritaire de supprimer. Il nécessite des droits d'administration sous Vista et supérieur (et XP s'exécute en tant que de droits limités de l'utilisateur, l'IIRC). Elle doit probablement avoir un essai..enfin assurez-vous que
CloseHandle
est appelé; je vous laisse en exercice au lecteur, car le code formattig est serré ici sans défilement horizontal. 🙂Exemple d'utilisation:
if not shpi.DeviceHotplug then begin
shpi.DeviceHotplug
retourne true, alors le lecteur est déjà sûr pour l'éjecter. Je ne sais rien sur les capacités de votre appareil, ou dans quel état elle est dans. 🙂 Je peux seulement vous dire que le code fonctionne, et a été utilisé plus d'une fois depuis que j'ai été trouvé et modifié il y a quelques années.