Devicenotify

Soyez le premier à donner votre avis sur cette source.

Vue 9 840 fois - Téléchargée 1 076 fois

Description

Plusieurs exemples de code traitent de la détection USB via le message Windows WM_DEVICECHANGE, mais sont peu ou pas génériques.
Je vous propose donc mon objet DeviceNotify, totalement générique et prêt à l'emploi pour vos projets.

Le projet TestUSB, comme son nom l'indique, montre l'utilisation de cet objet.

Conclusion :


Il s'agit d'une source créée sur .NET 1.1

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_badrbadr
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private extern static bool GetVolumeInformation(
string RootPathName,
StringBuilder VolumeNameBuffer,
int VolumeNameSize,
out uint VolumeSerialNumber,
out uint MaximumComponentLength,
out uint FileSystemFlags,
StringBuilder FileSystemNameBuffer,
int nFileSystemNameSize);
comment le CLR fait l'association entre les types .net et les types natives de Win32?
J'ai entendu dire que la prochaine API de windows, WinFX, qui va remplacer Win32 est complètement orientée objet et que .net va être la plateforme idéale pour en tier plein profit, c'est rassurant non :D
sebseb42
Messages postés
495
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
9 novembre 2007
-
evidement :)

et puis même si c'était mon code bah... tant mieux, ca veut dire qu'il a pu etre utile a quelqu'un... c'est le but non ? :)

et puis personne n'est tout blanc, ca m'est arrivé aussi d'utiliser des codes et d'oublier de citer :)
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
je crois sebseb42 disait ca sur le ton de l'humour... cf : ^^
aogie
Messages postés
108
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
27 novembre 2007
-
J'ai décidé de publier ce code après avoir visionné USB Detector, ce matin.
j'ai créé DeviceNotify le 29 mars 2005 et ne connaîs pas TON CODE GetVolumeInformation. Désolé.
sebseb42
Messages postés
495
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
9 novembre 2007
-
on dirait des bouts de mon code ^^
et pour récuperer le numéro de serie du device :

public static uint GetSerialNumber(string drive)
{
StringBuilder volname = new StringBuilder(256);
StringBuilder fsname = new StringBuilder(256);
uint sernum, maxlen, flags;
if (!GetVolumeInformation(drive, volname, volname.Capacity, out sernum, out maxlen, out flags, fsname, fsname.Capacity))
return (0);
return (sernum);
}

[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private extern static bool GetVolumeInformation(
string RootPathName,
StringBuilder VolumeNameBuffer,
int VolumeNameSize,
out uint VolumeSerialNumber,
out uint MaximumComponentLength,
out uint FileSystemFlags,
StringBuilder FileSystemNameBuffer,
int nFileSystemNameSize);

(tiré de http://pinvoke.com)
merci à eux

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.