Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 05.01.2011, 03:48   #1
wolfhound512
Знающий
 
Аватар для wolfhound512
 
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений
(для 299 пользователей)
Наличие диска в приводе

Привет, подскажите, как определить наличие диска в приводе?

Варианты типа попытаться открыть корневую папку, или получить ее атрибуты (GetDiskFreeSpace, GetFileAttributes) не подходят, так как занимают море времени, аж до 10 секунд
__________________
GUI, GUIw512, AlbaLynx, Форум
(Offline)
 
Ответить с цитированием
Старый 05.01.2011, 04:32   #2
Venom2
 
Сообщений: n/a
Ответ: Наличие диска в приводе

Сообщение от wolfhound512 Посмотреть сообщение
Привет, подскажите, как определить наличие диска в приводе?

Варианты типа попытаться открыть корневую папку, или получить ее атрибуты (GetDiskFreeSpace, GetFileAttributes) не подходят, так как занимают море времени, аж до 10 секунд
MCI пробывал?
ЗЫ
Еще можно попробывать запросить инфу об устройстве DeviceIoControl
Правда тут понадобится буква диска, чтобы сперва получить хендл драйвера через CreateFile
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
wolfhound512 (05.01.2011)
Старый 05.01.2011, 14:02   #3
wolfhound512
Знающий
 
Аватар для wolfhound512
 
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений
(для 299 пользователей)
Ответ: Наличие диска в приводе

Если точнее нужно проверить не только CD, но любой девайс, который прописан в системе, но носитель в нем может отсутствовать.
Поэтому первый вариант не подходит, а второй тормозит точно так же как и предыдущие.
GetVolumeInformation() - тоже тормозит.
__________________
GUI, GUIw512, AlbaLynx, Форум
(Offline)
 
Ответить с цитированием
Старый 05.01.2011, 14:30   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Наличие диска в приводе

Оно всё тормазит т.к. зависит от характеристик устройства, а там же раскрутка диска + идентификация занимают 5-30сек.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
wolfhound512 (05.01.2011)
Старый 05.01.2011, 19:18   #5
wolfhound512
Знающий
 
Аватар для wolfhound512
 
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений
(для 299 пользователей)
Ответ: Наличие диска в приводе

Я надеялся, что есть возможность проверить наличие диска, не обращаясь к нему, но нет, так нет.
__________________
GUI, GUIw512, AlbaLynx, Форум
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:30.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com