|
|
|
Как из Билдера 6 прочитать серийный номер HDD
|
|||
|---|---|---|---|
|
#18+
Как из Билдера 6 прочитать серийный номер HDD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2006, 09:06 |
|
||
|
Как из Билдера 6 прочитать серийный номер HDD
|
|||
|---|---|---|---|
|
#18+
не совсем то что надо (да ещё и на Паскале), но из той же оперы :) function GetVolumeName(Path: string): string; var VolumeName, FSName: PChar; VolumeNameLen, FSLen: DWORD; SerNum: DWORD; FSSize, MaxCL: Cardinal; begin VolumeNameLen := 255; FSLen := 255; GetMem(VolumeName, VolumeNameLen); GetMem(FSName, FSLen); if GetVolumeInformation(PChar(Path), VolumeName, VolumeNameLen, @SerNum, MaxCL, FSSize, FSName, FSLen) then Result := IntToHex(SerNum) + StrPas(FSName) else Result := 'No info'; FreeMem(VolumeName, VolumeNameLen); FreeMem(FSName, FSLen); end; с уважением, Дмитрий Жучков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2006, 09:28 |
|
||
|
Как из Билдера 6 прочитать серийный номер HDD
|
|||
|---|---|---|---|
|
#18+
ну и очевидно с уважением, Дмитрий Жучков Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2006, 09:29 |
|
||
|
Как из Билдера 6 прочитать серийный номер HDD
|
|||
|---|---|---|---|
|
#18+
GetVolumeInformation даст результат специфичный для текущего раздела. Тоесть если у вас 3 партишена на диске, то (для) каждый из них будет возвращать свое значение. Балее того, переформатировав диск вы получите новое значение, отличное от предыдущего. Где-то в инете был примерчик, который выдает то что нужно. Ищите.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2006, 22:08 |
|
||
|
Как из Билдера 6 прочитать серийный номер HDD
|
|||
|---|---|---|---|
|
#18+
void __fastcall TForm1::DriveComboBox1Change(TObject *Sender) { DWORD VolSN,MaxCompLen,FSFlags, FC,SPC,BPS,NC; char VolName[255],FSName[100]; AnsiString s=UpperCase(DriveComboBox1->Drive)+":\\"; Label1->Caption=s; if (GetVolumeInformation(s.c_str(),VolName,255,&VolSN,&MaxCompLen, &FSFlags,FSName,100)) { Label2->Caption="Имя тома: "+AnsiString(VolName); Label3->Caption="Файловая система: "+AnsiString(FSName); if (GetDiskFreeSpace(s.c_str(), &SPC,&FC,&BPS,&NC)) { Label4->Caption="Свободных байт: "+IntToStr(SPC*FC*BPS); } else { Label4->Caption=""; } } else { Label2->Caption="Диск не готов"; Label3->Caption=""; Label4->Caption=""; } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 13:59 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=375&tid=2032093]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 367ms |

| 0 / 0 |
