Tout est dans le titre ou presque…
Je me demande s’il est possible en C# de détecter le type de support (lecteur cd, clef usb, APN) sur lequel un fichier est situé.
J’ai regardé du coté de la classe fileInfos, mais je n’ai rien trouvé…
Et sur ce coup, google n’a pas vraimant été mon ami (hou le vilain !).
Edit: reformulation plus claire de ma question Ce message a été édité par aristidi le 25/07/2004
Il semblerais qu’il n’y ait rien de ce genre dans la lib .net 1.1 (et a premiere vue, rien non plus dans le 2.0), dans le namespace System.IO, tout du moins. Il va donc te falloir faire appel à l’API win32.
Tu as déja System.IO.Directory.GetLogicalDrives() pour récupérer la liste des lecteurs, ensuite, il te faudra utiliser la fonction :
UINT GetDriveType(
LPCTSTR lpRootPathName
);
Tu dois pouvoir déclarer ca comme ca :
public enum DriveType
{
DRIVE_UNKNOWN=0,
DRIVE_NO_ROOT_DIR=1,
DRIVE_REMOVABLE=2,
DRIVE_FIXED=3,
DRIVE_REMOTE=4,
DRIVE_CDROM=5,
DRIVE_RAMDISK=6
}
[System.Runtime.InteropServices.DllImport(“kernel32.dll”)]
public static extern DriveType GetDriveType (string lpRootPathName);
[quote] Il semblerais qu’il n’y ait rien de ce genre dans la lib .net 1.1 (et a premiere vue, rien non plus dans le 2.0), dans le namespace System.IO, tout du moins. Il va donc te falloir faire appel à l’API win32.
[/quote]
[/quote]Tssss, avec System.Management, on peut faire une variante sans faire de DllImport. V’là un code de test vite fait qui rajoute des ListViewItems pour chaque lecteur contenant un disque :
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT Size, DriveType, DeviceID, Description, VolumeName From Win32_LogicalDisk");
Tiens, je ne connaissais pas du tout cet espace de nom…
Bon, étant donné que la solution de Tzim fonctionne très bien et que je suis un peu à la bourre, je retient sa solution…
Mais je garde ton infos sous le coude Xentyr…