Newsgroup: it.comp.lang.delphi
Titolo: HD SERIAL NUMBER IN VISTA

Con la funzione CreateFile('\\.\\PhysicalDrive0' riuscivo a leggere il 
seriale dell'HD (Fw) in vista mi da Accesso negato!
Qualcuno ha gia risolto il problema?

 Qualcuno ha gia risolto il problema?
Saresti capace di postare sempre con lo stesso nome ed email?
ciao
-- 
Morde

 ha scritto nel messaggio 
news:ij35hq8s9k68.bvcmtwjr8k8p$.dlg@40tude.net...



Prova a eliminare i file del programma dalla cartella c:\programmi\...
e porli in una cartella relativa all'account che usi tu...
Sempre che avvi il programma come amministratore! 

Scusa l'ignoranza. La formattazione di Vista č in NTFS ?
Ci deve essere corrispondenza con la locazione del boot sector.
CMQ un modo DOS per leggerlo č
lanciare l'struzione con  
dir  C:\nonesistequestofile > Ciao.txt
poi te lo leggi come da file di testo
--- posted by geoForum on 
http://www.delphiedintorni.it

CMQ un modo DOS per leggerlo č
Se si vuol leggere quel seriale, basta la GetVolumeInformation().
Sparisci troll.

partizione con il boot sector.
certo, certo....  Vai a vedere come funziona la GetVolumeInformation() 
 0x48
 LONGLONG
 0x14A51B74C91B741C
 Volume Serial Number
function GetVolumeLabel(Drive: Char): Str11;
{ function returns volume label of a disk }
var
  SR: TSearchRec;
  DriveLetter: Char;
  SearchString: String[7];
  P: Byte;
begin
 
    push ds                              { preserve ds }
    mov ax, ss                           { put seg of FCB (ss) in ds }
    mov ds, ax
    lea dx, FCB                          { put offset of FCB in dx }
    mov ax, 1300h                        { function 13h }
    Call DOS3Call                        { invoke int 21h }
    pop ds                               { restore ds }
    cmp al, 00h                          { check for success }
    je 
  SearchString := Drive + ':\*.*';
  { find vol label }
  if FindFirst(SearchString, faVolumeID, SR) = 0 then begin
    P := Pos('.', SR.Name);
    if P > 0 then begin                      { if it has a dot... }
      Result := '           ';               { pad spaces between name }
      Move(SR.Name[1], Result[1], P - 1);    { and extension }
      Move(SR.Name[P + 1], Result[9], 3);
    end
    else begin
      Result := SR.Name;                     { otherwise, pad to end }
      PadVolumeLabel(Result);
    end;
  end
  else
    Result := '';
 
 
end;
nella NTFS va alla locazione 0x48 nella FAT16 e nella FAT32 non mi 
ricordo...
Physical Sector:Cyl 0, Side 1, Sector 1 
EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J....... 
04 00 00 00 00 00 00 00 -54 FF 07 00 00 00 00 00 ........T....... 
F6 00 00 00 01 00 00 00 -14 A5 1B 74 C9 1B 74 1C ...........t..t. 
00 00 00 00 FA 33 C0 8E -D0 BC 00 7C FB B8 C0 07 .....3.....|.... 
8E D8 E8 16 00 B8 00 0D -8E C0 33 DB C6 06 0E 00 ..........3..... 
10 E8 53 00 68 00 0D 68 -6A 02 CB 8A 16 24 00 B4 ..S.h..hj....$.. 
08 CD 13 73 05 B9 FF FF -8A F1 66 0F B6 C6 40 66 ...s......f...@f 
0F B6 D1 80 E2 3F F7 E2 -86 CD C0 ED 06 41 66 0F .....?.......Af. 
B7 C9 66 F7 E1 66 A3 20 -00 C3 B4 41 BB AA 55 8A ..f..f....A..U. 
16 24 00 CD 13 72 0F 81 -FB 55 AA 75 09 F6 C1 01 .$...r...U.u.... 
74 04 FE 06 14 00 C3 66 -60 1E 06 66 A1 10 00 66 t......f`..f...f 
03 06 1C 00 66 3B 06 20 -00 0F 82 3A 00 1E 66 6A ....f;....:..fj 
00 66 50 06 53 66 68 10 -00 01 00 80 3E 14 00 00 .fP.Sfh.....>... 
0F 85 0C 00 E8 B3 FF 80 -3E 14 00 00 0F 84 61 00 ........>.....a. 
B4 42 8A 16 24 00 16 1F -8B F4 CD 13 66 58 5B 07 .B..$......fX [.. 
66 58 66 58 1F EB 2D 66 -33 D2 66 0F B7 0E 18 00 fXfX.-f3.f...... 
66 F7 F1 FE C2 8A CA 66 -8B D0 66 C1 EA 10 F7 36 f......f..f....6
1A 00 86 D6 8A 16 24 00 -8A E8 C0 E4 06 0A CC B8 ......$......... 
01 02 CD 13 0F 82 19 00 -8C C0 05 20 00 8E C0 66 ..............f 
FF 06 10 00 FF 0E 0E 00 -0F 85 6F FF 07 1F 66 61 ..........o...fa 
C3 A0 F8 01 E8 09 00 A0 -FB 01 E8 03 00 FB EB FE ................ 
B4 01 8B F0 AC 3C 00 74 -09 B4 0E BB 07 00 CD 10 .....<.t........ 
EB F2 C3 0D 0A 41 20 64 -69 73 6B 20 72 65 61 64 .....A disk read 
20 65 72 72 6F 72 20 6F -63 63 75 72 72 65 64 00 error occurred. 
0D 0A 4E 54 4C 44 52 20 -69 73 20 6D 69 73 73 69 ..NTLDR is missi 
6E 67 00 0D 0A 4E 54 4C -44 52 20 69 73 20 63 6F ng...NTLDR is co 
6D 70 72 65 73 73 65 64 -00 0D 0A 50 72 65 73 73 mpressed...Press 
20 43 74 72 6C 2B 41 6C -74 2B 44 65 6C 20 74 6F Ctrl+Alt+Del to 
20 72 65 73 74 61 72 74 -0D 0A 00 00 00 00 00 00 restart........
00 00 00 00 00 00 00 00 -83 A0 B3 C9 00 00 55 AA ..............U. 
The following table describes the fields in the BPB and the extended BPB 
on NTFS volumes. The fields starting at 0x0B, 0x0D, 0x15, 0x18, 0x1A, 
and 0x1C match those on FAT16 and FAT32 volumes. The sample values 
correspond to the data in this example.
 
0x48
 LONGLONG
 0x14A51B74C91B741C
 Volume Serial Number
 
unit VolLabel;
interface
uses Classes, SysUtils, WinProcs;
type
  EInterruptError = class(Exception);
  EDPMIError = class(EInterruptError);
  Str11 = String[11];
procedure SetVolumeLabel(NewLabel: Str11; Drive: Char);
function GetVolumeLabel(Drive: Char): Str11;
procedure DeleteVolumeLabel(Drv: Char);
implementation
type
  PRealModeRegs = ^TRealModeRegs;
  TRealModeRegs = record
    case Integer of
      0: (
        EDI, ESI, EBP, EXX, EBX, EDX, ECX, EAX: Longint;
        Flags, ES, DS, FS, GS, IP, CS, SP, SS: Word);
      1: (
        DI, DIH, SI, SIH, BP, BPH, XX, XXH: Word;
        case Integer of
          0: (
            BX, BXH, DX, DXH, CX, CXH, AX, AXH: Word);
          1: (
            BL, BH, BLH, BHH, DL, DH, DLH, DHH,
            CL, CH, CLH, CHH, AL, AH, ALH, AHH: Byte));
  end;


Sparisci troll.
LEGGI E IMPARA !!!!
http://support.microsoft.com/kb/140418/it


 LEGGI E IMPARA !!!!
Imbecille, ripeto: la struttura specifica di una partizione (FAT o NTFS)
non c'entra una benemerita CIPPA con il boot sector in cui è custodito il
serial number dell'hd.
Sparisci troll.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

serial number dell'hd.
La struttura della partizione determina la posizione del SN nel boot 
sector, in quanto la struttura stessa richede un diverso sistema di 
indirizzamento della memoria di massa!


 sector
No, idiota, il boot sector è A MONTE delle singole partizioni.


No, idiota, il boot sector è A MONTE delle singole partizioni.
Guarda che stai facendo una figuraccia! Prima studia e poi parla...


Ti puoi rispondere da solo:
Formatta in NTFS e installi XP
Formatta in FAT32 e installi XP
Fai un confronto nelle locazioni della memoria di massa e capisci da 
solo! 
La struttura del file system non è la stessa!!! Forse questo ti trae in 
inganno...


nella NTFS va alla locazione 0x48 nella FAT16 e nella FAT32 non mi 
ricordo...
Physical Sector:Cyl 0, Side 1, Sector 1 
EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
vedi questo è il boot sector e in alto si legge chiaramente NTFS !


 inganno...
A me non trae in inganno un bel niente, povero cretino di un troll.
Sparisci.
