Как вывести сведения о диске (метка тома, серийный номер, файловая система и т.д.)
Звонок в службу технической поддержки:
- У меня компьютер не работает!
- После чего это произошло?
- Я его включил - загрузился Нортон. Смотрю - у меня слева диск С: и
справа диск С:. Я подумал - нафиг мне два диска С:? И стер правый к
чертовой матери.
Программный код на Delphi, который получает информацию о дисковом устройстве с помощью функции GetVolumeInformation и отображает ее в контроле Memo.
Процедура Button2Click вызывается при клике кнопки с надписью "Button2".
Она объявляет несколько переменных:
VolumeName: массив символов для хранения имени тома (например, "C:\").
FileSystemName: другой массив символов для хранения имени файловой системы (например, "NTFS").
VolumeSerialNo: переменная типа DWord для хранения серийного номера диска.
MaxComponentLength и FileSystemFlags: переменные типа Cardinal для хранения дополнительной информации о диске.
Функция GetVolumeInformation вызывается с несколькими параметрами:
'C:\': буква диска и путь к диску (в этом случае, диск C:).
VolumeName, @VolumeSerialNo, MaxComponentLength, FileSystemFlags и FileSystemName: указатели на объявленные выше переменные.
MAX_PATH: константа, которая specifies максимальную длину имени тома.
Функция возвращает информацию о диске, которая хранится в переменных. Затем процедура добавляет эту информацию в контрол Memo с помощью метода Lines.Add.
Когда вы запустите этот код и нажмете кнопку, он отобразит следующую информацию о диске C:
VolumeName = C:\
SerialNo = $XXXXXXXXXXXX (серийный номер диска)
CompLen = X (максимальная длина имени компонента, где X - десятичное значение)
Flags = $XXXXXXXX (дополнительные флаги о файловой системе)
FSName = NTFS (имя файловой системы)
Обратите внимание, что этот код получает информацию только о диске C:. Если вы хотите получить информацию о других дисках, вам нужно будет изменить код соответствующим образом.
Также помните, что это код предполагает, что диск форматирован с файловой системой, которая поддерживает функцию GetVolumeInformation (например, NTFS или FAT). Если диск не форматирован с такой файловой системой, функция может вернуть ошибку.
Статья описывает способ вывода информации о диске, включая метку тома, серийный номер и файловую систему, с помощью процедуры GetVolumeInformation в языке программирования Pascal.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.