|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
Delphi: Come si legge l'etichetta di volume di un HD?
Ho provato con GetVolumeInformation ma per qualche ragione restiuisce stringhe strane...
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
In che senso stringhe strane ?!?!?!
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Magari ti restituisce si il nome dell'HDD ma anche tutto il resto della stringa che hai passato per completare i 255 char, magari chei una cosa del genere: "qwerty|||||||||||||||||||||||||||||||||||" oppure rovescita!!
Io nn conosco il delphi la mia è solo una supposizione ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
Il mio disco D si chiama "QUANTUM15" e il programma mi da qualcosa del tipo "?=$g" (in questo momento non posso scrivere la stringa esatta)
e cmq restituisce la stessa stringa per tutti i dischi... |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2003
Città: Biella
Messaggi: 843
|
non vorrei dire una cagata...ma magari se sono partizioni dello stesso HDD...magari non le becca....se sono proprio HD diversi...nn so
![]()
__________________
Ubl~Team Rulez ^_^ |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
????
cmq sono dischi diversi |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
sicuramente sbaglio nel lavorare con le variabili PAnsiChar
chi mi dice dov'è l'errore? Codice:
var RootPathName, VolumeNameBuffer, FIleSystemNameBuffer: PAnsiCHar; VolumeSerialNumber: PDWord; VolumeNameSize, MaximumComponentLength, FileSystemFlags, FileSystemNameSize: Cardinal; begin RootPathName := PAnsiChar('d:\'); VolumeNameSize := 10; FileSystemNameSize := 10; GetVolumeInformation(RootPathName, VolumeNameBuffer, VolumeNameSize, VolumeSerialNumber, MaximumComponentLength, FileSystemFlags, FileSystemNameBuffer, FIleSystemNameSize); end; RootPathname = "d:\" VolumeNameBuffer = "½" FileSystemNameBuffer = "S‹Ø‹Ãè&Ì" praticamente la funzione non scrive nulla nelle variabili visto che se prima di chiamare la funzione gli assegno un valora poi dopo la funzione ci ritrovo quello... |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
Risolto... ovviamente avevo commesso un errore stupido... -___-
|
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
|
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2000
Città: Roma
Messaggi: 840
|
le variabili VolumeNameBuffer, FileSystemNameBuffer
devono essere array of Char; |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:30.