sebseb42
Messages postés495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 2007
-
13 mars 2006 à 13:32
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
13 mars 2006 à 18:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 13 mars 2006 à 18:55
[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és495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 20071 13 mars 2006 à 16:54
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és4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 13 mars 2006 à 15:10
je crois sebseb42 disait ca sur le ton de l'humour... cf : ^^
aogie
Messages postés108Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention27 novembre 2007 13 mars 2006 à 14:00
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és495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 20071 13 mars 2006 à 13:32
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);
13 mars 2006 à 18:55
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
13 mars 2006 à 16:54
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 :)
13 mars 2006 à 15:10
13 mars 2006 à 14:00
j'ai créé DeviceNotify le 29 mars 2005 et ne connaîs pas TON CODE GetVolumeInformation. Désolé.
13 mars 2006 à 13:32
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