Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 419
от 25.04.2007, 05:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 410, Экспертов: 54
В номере:Вопросов: 1, Ответов: 1


Вопрос № 83370: Здравствуйте уважаемые эксперты. У меня следующий вопрос. 1.Как программно определить количество жестких дисков ПК и их емкость. 2. Как программно определить - получен ли заданный логический диск с помощью команды subst (сравнение на сов...

Вопрос № 83.370
Здравствуйте уважаемые эксперты.
У меня следующий вопрос.
1.Как программно определить количество жестких дисков ПК и их емкость.
2. Как программно определить - получен ли заданный логический диск с помощью команды subst (сравнение на совпадение с размером другого логического диска не предлагать)
Буду благодарен открытому коду
Отправлен: 20.04.2007, 05:12
Вопрос задал: Zlm (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PGM
Здравствуйте, Zlm!

1. Вот так получается список жестких дисков

d := GetLogicalDrives;
for i := 0 to 31 do
if (d and ($01 shl i)) <> 0 then begin
s := Chr(Ord('A')+i)+':'+#0;
if GetDriveType(PChar(s)) = DRIVE_FIXED then "что-то делаем"
end;

Емкость и количество свободного места GetDiskFreeSpace/GetDiskFreeSpaceEx

2. С этим вопросом никогда не сталкивался - могу только общие советы дать. Для приведенной выше процедуры subst будет FIXED драйвом. Предлагаю сравнить метку и серийный номер логического диска, которые легко получить через GetVolumeInformation (там же и тип файловой системы). Правда возникает вопрос, кто из них родитель, а кто получен через subst, посмотрите может какие флаги есть. Еще можно получить PARTITION_INFORMATION для физических дисков (DeviceIOControl), но я не уверен, что там есть информация о логических буквах - посмотрите на эту тему в MSDN.
Ответ отправил: PGM (статус: 5-ый класс)
Ответ отправлен: 20.04.2007, 12:21
Оценка за ответ: 5
Комментарий оценки:
спасибоЮ буду разбираться


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.50 (beta) от 15.04.2007
Яндекс Rambler's Top100

В избранное