| Автор
| Сообщение |
|
|
|
Цитата |
|
Хотелось бы выяснить,как с помощью Делфи можно получить информацию о текущей ОС(версия)?А также данные об имеющихся HDD,кол-во свободных\занятых байт и т.п. |
|
| В начало |
|
 |
|
|
 |
|
|
|
Цитата |
|
| Цитата: |
Хотелось бы выяснить,как с помощью Делфи можно получить информацию о текущей ОС(версия)?
|
| Код: |
USES registry
...
procedure TForm1.Button1Click(Sender: TObject);
var
q:TRegIniFile;
begin
q:=TRegIniFile.Create('Software');
q.RootKey:=HKEY_LOCAL_MACHINE;
q.OpenKey('SOFTWARE\Microsoft\Windows NT', false);
Caption:=q.ReadString('CurrentVersion','CurrentVersion','Unknown');
end;
end.
|
|
|
| В начало |
|
 |
|
|
|
Цитата |
|
| Цитата: |
А также данные об имеющихся HDD,кол-во свободных\занятых байт и т.п.
|
Я несовсем понел вопрос (HDD) есле ты о фирме производящей популярные винчестеры тогда так
| Код: |
procedure TForm1.UpdateDisk;
var
ipRootPathname:pchar;
ipVolumeNameBuffer:pchar;
nVolumeNaraeSize: DWORD;
ipVolumeSeriaINumber: DWORD;
lpMaxinumComponentLength: DWORD;
ipFileSystemFlags: DWORD;
lpFileSystemNameBuffer:PChar;
nFileSystemNameSize: DWORD;
FSectorsPerCluster: DWORD;
FBytesPerSector : DWORD;
FFreeClusters : DWORD;
FTotalCIusters : DWORD;
begin
ipVolumeNameBuffer:='';
nVolumeNaraeSize:=0;
lpMaxinumComponentLength:=0;
ipFileSystemFlags:=0;
lpFileSystemNameBuffer:='';
try
GetMem(ipVolumeNameBuffer,MAX_PATH+ 1) ;
GetMem(lpFileSystemNameBuffer, MAX_PATH + 1) ;
nVolumeNaraeSize:=MAX_PATH+ 1;
nFileSystemNameSize := MAX_PATH + 1;
ipRootPathname:=PChar(DriveComboBox1.Drive+':\');
if GetVolumeinformation( ipRootPathName, ipVolumeNameBuffer,
nVolumeNaraeSize, @ipVolumeSeriaINumber,lpMaxinumComponentLength,
ipFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize )
then
begin
label1.Caption :=ipVolumeNameBuffer;
label2.Caption := IntToHex(loword(ipVolumeSeriaINumber), 4) + '-'
+ IntToHex(LOWord(ipVolumeSeriaINumber), 4);
label3.Caption:=lpFileSystemNameBuffer;
GetDiskFreeSpace( PChar(DriveComboBox1.Drive+':\'), FSectorsPerCluster, FBytesPerSector,
FFreeClusters,FTotalCIusters);
end;
finally
FreeMem(ipVolumeNameBuffer);
FreeMem(lpFileSystemNameBuffer);
end;
label4.Caption:=IntToStr(FSectorsPerCluster);
label5.Caption:=IntToStr(FBytesPerSector);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
UpdateDisk;
end;
|
|
|
| В начало |
|
 |
|
|
|
Цитата |
|
to ДОБ
Спасибо за информацию!
Если что, буду обращаться, ОК? |
|
| В начало |
|
 |
|
|
| В начало |
|
 |
|
|
|
Цитата |
|
| А также технология WMI. |
|
| В начало |
|
 |
|