Как узнать, вставлена флэшка или нет?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Korall
Новичок
Сообщения: 21
Зарегистрирован: 01 Сентябрь 2010, 13:45

Как узнать, вставлена флэшка или нет?

Сообщение Korall »

Добрый день!

С55, без АБС.

Вроде простая задача - узнать, вставил ли пользователь программы флэшку для сохранения результатов, или нет.
Сначала пользователь в диалоге задает диск, затем перед копированием я хочу проверить, есть он или нет, пользуюсь setpath()
по ошибке 03 пишу ему сообщение, что ничего нет.

Но Windows еще раньше до анализа errorcode() выводит свои окна, где говорит, что диска нет, попробуйте повторить и т.д.
Как сделать, Чтобы до windows все узнать и дать нужное сообщение?
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: Как узнать, вставлена флэшка или нет?

Сообщение BOB »

Наверно просто брать список дисков .
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Как узнать, вставлена флэшка или нет?

Сообщение Дед Пахом »

Вообще-то штатный метод это ловить и анализировать событие WM_DEVICECHANGE. Хотя если флешка была вставлена до старта программы, то просто пройтись по типам подключённых дисководов.
С уважением, ДП
Korall
Новичок
Сообщения: 21
Зарегистрирован: 01 Сентябрь 2010, 13:45

Re: Как узнать, вставлена флэшка или нет?

Сообщение Korall »

Да, хорошо, я готов по очереди пройтись по английскому алфавиту, но как только я для теста например, пытаюсь создать и затем удалить файл-пустышку на новом диске, именно windows выдает сообщение (см. рис), и лишь после этого кларион мне пишет мои message().

Я хочу обойтись без окна от windows, что скажете?
Вложения
нет диска.gif
нет диска.gif (5.71 КБ) 5262 просмотра
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Re: Как узнать, вставлена флэшка или нет?

Сообщение StillZero »

Имелось ввиду API GetDriveType и DRIVE_REMOVABLE.... если по простому
Все сайты закрыты...
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: Как узнать, вставлена флэшка или нет?

Сообщение BOB »

я готов по очереди пройтись по английскому алфавиту
Надо не по алфавиту гулять , а взять у системы список подключенных дисков и по типу диска определить флэшку . Если Вы заранее знаете букву флэшки то поискать ее наличие в списке . При этом Вы НЕ должны напрямую обращаться к диску
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Re: Как узнать, вставлена флэшка или нет?

Сообщение Igor »

Попробуй это.(своял наспех)
Вложения
GetDrivers.rar
(3.56 КБ) 209 скачиваний
Korall
Новичок
Сообщения: 21
Зарегистрирован: 01 Сентябрь 2010, 13:45

Re: Как узнать, вставлена флэшка или нет?

Сообщение Korall »

Спасибо!

Игорю: Просто замечательно - именно что-то такое и хотелось!

Вот только не понял, зачем там у Вас кусок кода под OMIT() ?

Вроде и без него работает?
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Re: Как узнать, вставлена флэшка или нет?

Сообщение Igor »

Вот только не понял, зачем там у Вас кусок кода под OMIT() ?
Это маленький бонус для лучшего понимания :D
Korall
Новичок
Сообщения: 21
Зарегистрирован: 01 Сентябрь 2010, 13:45

Re: Как узнать, вставлена флэшка или нет?

Сообщение Korall »

Спасибо за бонус, мне до него зреть еще долго :shock: !
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

Re: Как узнать, вставлена флэшка или нет?

Сообщение porutchik »

"завернуть" ошибку Вынь SetErrorMode и проверить наличие диска EXISTS
Ответить