Newsgroup: it.comp.lang.visual-basic
Titolo: [?] avendo una USB, ricavarne l'unità assegnatale

sapete come si ricava l'unità (ad esmpio  E:\  )
dei dispositivi USB attacati ?
So ricavare la lista dei dispositivi 
e 
persino la relativa porta USB,
ma 
l'unità assegnata da Windows non ci riesco.

l'unitą assegnata da Windows non ci riesco.
Si puņ utilizzare l'API  GetDriveType 
Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive
As String) As Long
Qui i dettagli:
http://allapi.mentalis.org/apilist/apilist.php
--
ciao
  Stefano

 ha
scritto:

Naturalmente usata in un loop da A a Z
--
ciao
  Stefano

>Si può utilizzare l'API  GetDriveType 


non riesco ad essegnare a ciascuna USB la lettera corrente dell'unità
Di solto il nome lo assegna il sistema operativo.
Tu hai chiesto come ricavare l'unità assegnata ad una USB e io ti ho risposto in
merito.
Non ho idea sul come, e non so nemmeno se si possa, assegnare il nome di un
drive da VB.
--
ciao
  Stefano

 non riesco ad essegnare a ciascuna USB la lettera corrente dell'unità
http://vbnet.mvps.org/
cercando 'drives' puoi ottenere qualcosa di questo tipo:
Drv :: DrvType :: FileSys :: MediaType :: Free Space :: Volume :: SerialNo 
:: Description
C: :: 3 (local) :: NTFS :: 12 (fixed disk) :: 16.296.898.560 :: cucciolo :: 
2CD65F3B :: Disco rigido locale
D: :: 5 (cd) ::  :: 11 (removable) ::  ::  ::  :: Disco CD-ROM
E: :: 5 (cd) :: CDFS :: 11 (removable) :: 0 :: ILCD :: 3AF03C3E :: Disco 
CD-ROM
F: :: 3 (local) :: FAT32 :: 12 (fixed disk) :: 9.019.392 :: LACIE_SYS :: 
8C0FCD0E :: Disco rigido locale
G: :: 3 (local) :: FAT32 :: 12 (fixed disk) :: 3.165.700.096 :: LACIE_DAT :: 
0046B334 :: Disco rigido locale
L: :: 4 (network) :: NTFS :: 0 (format unknown) :: 22.614.450.176 :: c :: 
EC520DBC :: Connessione di rete
M: :: 4 (network) :: NTFS :: 0 (format unknown) :: 84.543.864.832 :: e :: 
70C33E96 :: Connessione di rete
N: :: 4 (network) :: NTFS :: 0 (format unknown) :: 59.593.412.608 :: n :: 
3C3AC87D :: Connessione di rete
i due lacie sono usb da 8gb, quindi dovresti poter disporre di tutti i dati 
che ti servono.
d: e' vuoto, e: un cd virtuale.
ciao, a.

quel listato mi potrebbe interessare
ma come lohai ottenuto
nel motore di ricerca del sito 
http://vbnet.mvps.org/
ho scritto "drives" ed ho ottenuto un centinaio di link;
quale è quello che ti fa ottenere quel listato ?


scusa mi sono espresso male
con "assegnare" intendevo "poter ricavare io"
poi forse sono tonto del tutto ma, 
dato l'elenco di dispositivi usb
attacati alla macchina che mi so ricavare
(dove nell'elenco vi sono usb per il mouse, usb per le pen drive,
usb per la videocamera..
tutti anche con informazioni sul produttore, modello ecc...)
per quelli cui Windows assegna una unità al momento dell' inserimento
(esempio due pen drive usb), 
pur sapendole distinguere per marca, modello...,
non so distinguere/riconoscere/risalire a quale 
delle due lettere di unità nuove, che Windows 
ha creato nel sistema operativo,
appartengono tali due pen drive usb rispettivamente.


 quale è quello che ti fa ottenere quel listato ?
cerca wmiLogicalDiskInfo

appartengono tali due pen drive usb rispettivamente.
Puoi usare delle API che ti danno delle informazioni sul sistema e i dischi. ad
esempio ci sono queste:
GetLogicalDrives, GetLogicalDriveStrings, GetVolumeInformation
e SHGetDiskFreeSpace
usandole opportunamente si possono avere un sacoo di informazioni sul sistema e
tutti i suoi drives.
--
ciao
  Stefano