var
VolumeNameBuf: array [0..MAX_PATH] of Char;
FSNameBuf: array [0..32] of char;
SerialNo: longInt;
MaxPathLen: Cardinal;
FSFlag: Cardinal;
begin
GetVolumeInformation( PChar('C:\'),VolumeNameBuf,MAX_PATH, @SerialNo, MaxPathLen,FSFlag, FSNameBuf,32);
end;
VolumeNameBuf: array [0..MAX_PATH] of Char;
FSNameBuf: array [0..32] of char;
SerialNo: longInt;
MaxPathLen: Cardinal;
FSFlag: Cardinal;
begin
GetVolumeInformation( PChar('C:\'),VolumeNameBuf,MAX_PATH, @SerialNo, MaxPathLen,FSFlag, FSNameBuf,32);
end;
var
VolumeNameBuf: array [0..MAX_PATH] of Char;
FSNameBuf: array [0..32] of char;
SerialNo: longInt;
MaxPathLen: Cardinal;
FSFlag: Cardinal;
begin
GetVolumeInformation( PChar('C:\'),VolumeNameBuf,MAX_PATH, @SerialNo, MaxPathLen,FSFlag, FSNameBuf,32);
end;
function f_try():word;
var
lpRootPathName:pchar;
lpVolumeNameBuffer:array [0..256] of char;
nVolumeNameSize:cardinal;
pVolumeSerialNumber:pdword;
lpMaximumComponentLength:cardinal;
lpFileSystemFlags:cardinal;
//lpFileSystemNameBuffer:pchar;
lpFileSystemNameBuffer:array [0..256] of char;
nFileSystemNameSize:cardinal;
lasterror:integer;
begin
lpRootPathName:=pchar('c:\');
fillchar(lpVolumeNameBuffer,256,ord(' '));
fillchar(lpFileSystemNameBuffer,256,ord(' '));
nVolumeNameSize:=256;
nFileSystemNameSize:=256;
new(pVolumeSerialNumber);
pVolumeSerialNumber^:=0;
GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer,nVolumeNameSize,
pVolumeSerialNumber,lpMaximumComponentLength,lpFileSystemFlags,
lpFileSystemNameBuffer,nFileSystemNameSize);
lasterror:=getlasterror();
if lasterror<>0 then
showmessage('error');
showmessage(intToStr(pVolumeSerialNumber^));
dispose(pVolumeSerialNumber);
f_try:=pVolumeSerialNumber^;
end;