> Comment déconnecter par programme un lecteur ? ( clé USB en particulier, un lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si ça marche pour ton problème : http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou d'un disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé, j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk new ManagementObject("win32_logicaldisk.deviceid="c:""); disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE string strProp = ""; foreach(PropertyData d in disk.Properties) strProp += d.Name + "n"; MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString(); MessageBox.Show("Volume Serial Number: " + strProp);
--
///3rL1n____
> Comment déconnecter par programme un lecteur ? ( clé USB en particulier, un
lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si
ça marche pour ton problème :
http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou d'un
disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé,
j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk new ManagementObject("win32_logicaldisk.deviceid="c:"");
disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE
string strProp = "";
foreach(PropertyData d in disk.Properties)
strProp += d.Name + "n";
MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY
strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString();
MessageBox.Show("Volume Serial Number: " + strProp);
> Comment déconnecter par programme un lecteur ? ( clé USB en particulier, un lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si ça marche pour ton problème : http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou d'un disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé, j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk new ManagementObject("win32_logicaldisk.deviceid="c:""); disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE string strProp = ""; foreach(PropertyData d in disk.Properties) strProp += d.Name + "n"; MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString(); MessageBox.Show("Volume Serial Number: " + strProp);
--
///3rL1n____
Vincent
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
"Merlin" a écrit dans le message de news:
Comment déconnecter par programme un lecteur ? ( clé USB en particulier, un lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si ça marche pour ton problème : http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou d'un disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé, j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk > new ManagementObject("win32_logicaldisk.deviceid="c:""); disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE string strProp = ""; foreach(PropertyData d in disk.Properties) strProp += d.Name + "n"; MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString(); MessageBox.Show("Volume Serial Number: " + strProp);
--
///3rL1n____
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne
sais pas comment l'activer
"Merlin" <Merlin@LesFees.Net> a écrit dans le message de news:
mn.4c667d637f533c9b.18651@LesFees.Net...
Comment déconnecter par programme un lecteur ? ( clé USB en particulier,
un lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si ça
marche pour ton problème :
http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou
d'un disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé,
j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk > new ManagementObject("win32_logicaldisk.deviceid="c:"");
disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE
string strProp = "";
foreach(PropertyData d in disk.Properties)
strProp += d.Name + "n";
MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY
strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString();
MessageBox.Show("Volume Serial Number: " + strProp);
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
"Merlin" a écrit dans le message de news:
Comment déconnecter par programme un lecteur ? ( clé USB en particulier, un lecteur de disquette et tout élément USB )
tu peux regarder cette lib, je n'ai pas trop regardé, tu nous diras si ça marche pour ton problème : http://sourceforge.net/project/showfiles.php?group_id610&package_id7762
Comment récupérer le n° de série ( quand il existe ) d'une clé USB ou d'un disque USB ?
pour le n° de série tu peux adapter et tester ce code (j'ai pas testé, j'ai ça dans ma réserve..) :
using System.Management;
ManagementObject disk > new ManagementObject("win32_logicaldisk.deviceid="c:""); disk.Get();
//FOLLOWING SHOWS PROPERTIES AVAILABLE string strProp = ""; foreach(PropertyData d in disk.Properties) strProp += d.Name + "n"; MessageBox.Show(strProp);
//TO GET PARTICULAR PROPERTY strProp = disk.GetPropertyValue("VolumeSerialNumber").ToString(); MessageBox.Show("Volume Serial Number: " + strProp);
--
///3rL1n____
Merlin
> j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
> j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne
sais pas comment l'activer
> j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
Simon Mourier [SoftFluent]
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas
la peine à mon avis d'utiliser des librairies externes, et d'installer des
drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici
http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon.
www.softfluent.com
"Merlin" <Merlin@LesFees.Net> a écrit dans le message de news:
mn.4d907d63ff215fa4.18651@LesFees.Net...
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je
ne sais pas comment l'activer
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
Vincent
MERCI je teste ça !!!
Vincent
"Simon Mourier [SoftFluent]" a écrit dans le message de news:
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
MERCI je teste ça !!!
Vincent
"Simon Mourier [SoftFluent]" <simon.mourier@mycompany.com> a écrit dans le
message de news: eQk7pzBRGHA.5500@TK2MSFTNGP12.phx.gbl...
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela.
Pas la peine à mon avis d'utiliser des librairies externes, et d'installer
des drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici
http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon.
www.softfluent.com
"Merlin" <Merlin@LesFees.Net> a écrit dans le message de news:
mn.4d907d63ff215fa4.18651@LesFees.Net...
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je
ne sais pas comment l'activer
"Simon Mourier [SoftFluent]" a écrit dans le message de news:
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Voir un exemple VB.NET (facile à convertir en C#) ici http://vbnet.mvps.org/index.html?code/disk/devioejectload.htm
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
j'ai un driver lisudb0.sys qui est arrété ( dixit driverquery.exe), je ne sais pas comment l'activer
inconnu au bataillon. Et ça gêne la gestion USB ?
--
///3rL1n____
Merlin
> Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
> Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas
la peine à mon avis d'utiliser des librairies externes, et d'installer des
drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très
cohérent malgré tout...
> Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
Vincent
Que proposes tu ?
"Merlin" a écrit dans le message de news:
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
Que proposes tu ?
"Merlin" <Merlin@LesFees.Net> a écrit dans le message de news:
mn.551c7d63c682516b.18651@LesFees.Net...
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela.
Pas la peine à mon avis d'utiliser des librairies externes, et
d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très
cohérent malgré tout...
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
Merlin
>> Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
soit : 1/ trouver les API managées qui font le boulot s'il y en a 2/ sinon, placer le code Win32 dans une DLL win32 et faire du P/Invoke très ciblé uniquement sur cette DLL en attendant de remplacer les appels par du code managé.
--
///3rL1n____
>> Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très
cohérent malgré tout...
soit :
1/ trouver les API managées qui font le boulot s'il y en a
2/ sinon, placer le code Win32 dans une DLL win32 et faire du P/Invoke
très ciblé uniquement sur cette DLL en attendant de remplacer les
appels par du code managé.
>> Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
soit : 1/ trouver les API managées qui font le boulot s'il y en a 2/ sinon, placer le code Win32 dans une DLL win32 et faire du P/Invoke très ciblé uniquement sur cette DLL en attendant de remplacer les appels par du code managé.
--
///3rL1n____
Simon Mourier [SoftFluent]
C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et c'est ce qu'on trouve dans une grande partie des assemblies du Framework lui-même. Par exemple dans System.Windows.Forms.
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et
c'est ce qu'on trouve dans une grande partie des assemblies du Framework
lui-même. Par exemple dans System.Windows.Forms.
Simon.
www.softfluent.com
"Merlin" <Merlin@LesFees.Net> a écrit dans le message de news:
mn.551c7d63c682516b.18651@LesFees.Net...
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela.
Pas la peine à mon avis d'utiliser des librairies externes, et
d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très
cohérent malgré tout...
C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et c'est ce qu'on trouve dans une grande partie des assemblies du Framework lui-même. Par exemple dans System.Windows.Forms.
Simon. www.softfluent.com
"Merlin" a écrit dans le message de news:
Il y a des API (IOCTL_STORAGE_EJECT_MEDIA) dans Windows pour faire cela. Pas la peine à mon avis d'utiliser des librairies externes, et d'installer des drivers.
Utiliser .NET pour faire des appels aux API Win32 ça me semble pas très cohérent malgré tout...
--
///3rL1n____
Merlin
> C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et c'est ce qu'on trouve dans une grande partie des assemblies du Framework lui-même. Par exemple dans System.Windows.Forms.
Windows Forms n'est pas une référence à ce niveau là justement. Mais sous Mono tu noteras que la lib dessine les contrôles par System.Drawing et ne fait pas de P/invoke... Celui qui utilise WF peut donc espérer être full managé, sous Mono par exemple. En revanche celui qui conçoit son soft avec plein de p/invoke est condamné à rester "unsafe". C'est un choix délicat, qui se justifie peut être parfois, mais qui au minimum réclame d'y réfléchir car, je le redis, il n'est pas cohérent. Mais ce que je disais c'était comparativement aux besoins de notre ami qui visiblement créé un logiciel dont les fonctions de base reposent sur un dialogue avec USB, donc du hardware, donc du code non managé. Donc, pour me redire, soit il existe une solution managée via le framework, soit il faut isoler les appels non managés dans une dll win32 pour "isoler" cette partie du reste du logiciel managé afin de changer la partie non managée par du managé le moment venu et ne pas en être tributaire ad vitam aeternam. Reste une autre question : si c'est pour faire un soft .net dont l'essentiel des fonctions se passe par du p/invoke, autant prendre un compilo win32 ?
--
///3rL1n____
> C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et
c'est ce qu'on trouve dans une grande partie des assemblies du Framework
lui-même. Par exemple dans System.Windows.Forms.
Windows Forms n'est pas une référence à ce niveau là justement. Mais
sous Mono tu noteras que la lib dessine les contrôles par
System.Drawing et ne fait pas de P/invoke... Celui qui utilise WF peut
donc espérer être full managé, sous Mono par exemple.
En revanche celui qui conçoit son soft avec plein de p/invoke est
condamné à rester "unsafe". C'est un choix délicat, qui se justifie
peut être parfois, mais qui au minimum réclame d'y réfléchir car, je le
redis, il n'est pas cohérent.
Mais ce que je disais c'était comparativement aux besoins de notre ami
qui visiblement créé un logiciel dont les fonctions de base reposent
sur un dialogue avec USB, donc du hardware, donc du code non managé.
Donc, pour me redire, soit il existe une solution managée via le
framework, soit il faut isoler les appels non managés dans une dll
win32 pour "isoler" cette partie du reste du logiciel managé afin de
changer la partie non managée par du managé le moment venu et ne pas en
être tributaire ad vitam aeternam.
Reste une autre question : si c'est pour faire un soft .net dont
l'essentiel des fonctions se passe par du p/invoke, autant prendre un
compilo win32 ?
> C'est tout à fait cohérent. P/Invoke fait intégralement partie de .NET. Et c'est ce qu'on trouve dans une grande partie des assemblies du Framework lui-même. Par exemple dans System.Windows.Forms.
Windows Forms n'est pas une référence à ce niveau là justement. Mais sous Mono tu noteras que la lib dessine les contrôles par System.Drawing et ne fait pas de P/invoke... Celui qui utilise WF peut donc espérer être full managé, sous Mono par exemple. En revanche celui qui conçoit son soft avec plein de p/invoke est condamné à rester "unsafe". C'est un choix délicat, qui se justifie peut être parfois, mais qui au minimum réclame d'y réfléchir car, je le redis, il n'est pas cohérent. Mais ce que je disais c'était comparativement aux besoins de notre ami qui visiblement créé un logiciel dont les fonctions de base reposent sur un dialogue avec USB, donc du hardware, donc du code non managé. Donc, pour me redire, soit il existe une solution managée via le framework, soit il faut isoler les appels non managés dans une dll win32 pour "isoler" cette partie du reste du logiciel managé afin de changer la partie non managée par du managé le moment venu et ne pas en être tributaire ad vitam aeternam. Reste une autre question : si c'est pour faire un soft .net dont l'essentiel des fonctions se passe par du p/invoke, autant prendre un compilo win32 ?