|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.02.2014, 13:37 | #1 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
Как получить список жестких дисков?
Нужно получить список жестких дисков на локальном компьютере и их разделов в формате:
\Device\Harddisk0\Partition1 \Device\Harddisk1\Partition1 \Device\Harddisk1\Partition2 ... \Device\HarddiskN\PartitionM Смог найти функцию WinAPI QueryDosDevice, но она не подходит тем, что возвращает строку вида: \Device\HarddiskVolume1 Так же выяснил что устройства вида \Device\HarddiskN\PartitionM это есть ссылка на устройство вида \Device\HarddiskVolumeX, которое выдает функция QueryDosDevice, но пока не знаю как и можно ли это использовать. Спасибо за любую помощь. |
02.02.2014, 15:00 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Попробовать использовать WMI. Скажем запрос
Код:
I'm learning to live...
|
02.02.2014, 15:03 | #3 |
Пользователь
Регистрация: 31.01.2014
Сообщений: 18
|
DWORD res=GetLogicalDrives();
и дальше по маске res & 0x00000001 !=0 есть A res & 0x00000002 !=0 есть B res & 0x00000004 !=0 есть C ... |
02.02.2014, 15:44 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
02.02.2014, 17:54 | #5 |
Пользователь
Регистрация: 31.01.2014
Сообщений: 18
|
|
02.02.2014, 18:17 | #6 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Хотя не, все верно: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
I'm learning to live...
Последний раз редактировалось Stilet; 02.02.2014 в 18:19. |
||
02.02.2014, 18:41 | #7 | |
Пользователь
Регистрация: 31.01.2014
Сообщений: 18
|
Цитата:
|
|
03.02.2014, 10:06 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
04.02.2014, 18:03 | #9 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
Всем спасибо, однако не понятно как по GUID получить строку вида:
\Device\HarddiskN\PartitionM Stilet, wmi посмотрел (через wmic.exe) Кажется, данные в алиасе partition вида: Код:
Disk #2, Partition #0 == \Device\Harddisk2\Partition1 Disk #1, Partition #0 == \Device\Harddisk1\Partition1 Disk #3, Partition #1 == \Device\Harddisk3\Partition2 Disk #3, Partition #2 == \Device\Harddisk3\Partition3 ... Жалко что в этом алиасе нет буквы диска, чтоб я, скажем, мог сопоставить F:\ с Disk #3, Partition #1, тогда можно было бы легко сказать что F:\ == \Device\Harddisk3\Partition2 Все же интересно как по GUID получить \Device\HarddiskN\PartitionM Последний раз редактировалось Glaciuse; 04.02.2014 в 19:48. |
06.02.2014, 00:07 | #10 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
В общем нашел вот такой скрипт на power shell:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как получить список СВОБОДНЫХ букв дисков | calypso | Общие вопросы Delphi | 4 | 15.08.2013 15:22 |
Получить список локальных дисков | igrok111 | Общие вопросы Delphi | 7 | 08.06.2013 15:41 |
Как получить список подключенных сетевых дисков | calypso | Работа с сетью в Delphi | 1 | 02.12.2012 19:59 |
Определение количества жестких дисков 13h | bondik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 30.11.2010 10:24 |
Подключение жестких дисков в Linux | MalCer | Компьютерное железо | 4 | 06.10.2009 13:38 |