Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Как получить полную информацию о системе?


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Dana
Гость







СообщениеВт, 13-Сен-2005 11:13    Заголовок сообщения: Как получить полную информацию о системе?
Цитата

Exclamation
Хотелось бы выяснить,как с помощью Делфи можно получить информацию о текущей ОС(версия)?А также данные об имеющихся HDD,кол-во свободных\занятых байт и т.п.
В начало
ДОБ
Гость







СообщениеВт, 13-Сен-2005 16:53 
Цитата

Цитата:

Хотелось бы выяснить,как с помощью Делфи можно получить информацию о текущей ОС(версия)?

Код:

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.
В начало
ДОБ
Гость







СообщениеВт, 13-Сен-2005 18:10 
Цитата

Цитата:

А также данные об имеющихся 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;
В начало
Dana
Гость







СообщениеСр, 14-Сен-2005 6:16 
Цитата

to ДОБ
Спасибо за информацию!
Если что, буду обращаться, ОК?
В начало
ДОБ
Гость







СообщениеСр, 14-Сен-2005 20:34 
Цитата

Dana чем смогу помогу
В начало
Gladiator
Гость







СообщениеПт, 17-Фев-2006 9:45 
Цитата

А также технология WMI.
В начало
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100