Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Доп. информация об устройствах.   Найти похожие ветки 

 
OlegNik ©   (2009-02-10 11:12) [0]

GetLogicalDrives
GetDriveType
спасибо спасибо.
Ну и еще вопрос. Как получить информацию такого рода.

контроллер IDE/ATAPI PCMCIA диск (H) или
Запоминающее устроиство для USB диск (I)


 
clickmaker ©   (2009-02-10 11:59) [1]

через WMI, наверно
класс Win32_DiskDrive


 
OlegNik ©   (2009-02-10 14:09) [2]


> через WMI, наверно
> класс Win32_DiskDrive

А подробние можно.


 
Eraser ©   (2009-02-10 17:34) [3]

> А подробние можно.

можно - msdn.com


 
Smile   (2009-02-10 19:28) [4]

Заляни сюда
http://www.delphi3000.com/articles/article_4841.asp?SK=USB
и сюда
http://www.delphi3000.com/articles/article_4077.asp?SK=USB
возможно, что и найдешь что-то по интересующему тебя вопросу.


 
OlegNik ©   (2009-02-11 12:26) [5]

раскрою тему:
мне необходимо работать с ВЗУ тип PCMCIA.
При этом программа в автоматически должна определять есть ли такое
или его нет на компе (я не имею слот а саму флеш).
Изыскания решения ввели меня в уныние и вот почему.
Используя функции
  I :=  GetLogicalDriveStrings()
  и далее по I
   GetDriveType();
  вроде и однозначно отвечала мне кто есть кто.
  До определенного момента. вставил флеш размером 512м, а она
возьми да и определись  как основной диск (DRIVE_FIXED). Ну и попутно
мелькнула мысль что USB флеш будет DRIVE_REMOVABLE, а это уже не
моя задача.
  Понятно что винда это отслеживает. Но вот как? Может кто ответит. а?


 
clickmaker ©   (2009-02-11 13:15) [6]

> винда это отслеживает. Но вот как?

plug-and-play
контроллер устройства оповещает систему, что в него что-то воткнули.
Винда в свою очередь рассылает сообщение WM_DEVICECHANGE

вообще, много чего можно узнать из реестра
отсюда, например
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum


 
OlegNik ©   (2009-02-12 12:49) [7]

Свершилось делюсь и жду критиков.
Подход следующий.

Получаю список всех дисков: GetLogicalDriveStrings();

Лезу в  реестр
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCMCIA
за что спасибо clickmaker ©  (да открываю ключи только на чтение)
PCMCIA али USB здесь не суть.
Собираю имена всех подкаталогов.
Далее по списку дисков через DeviceIoControl получаю паспорт диска
(производитель и т.д.)
Далее сравнеие паспортов диска с списком из реестра. Совпало хорошо
PCMCIA(USB) есть нет плохо.
проверял на NT,XP (PCMCIA шт. 10 от разных производителей ну личную USB проверил проверку вынесла и PCMCIA тоже)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.053 c
2-1268992876
самдал
2010-03-19 13:01
2010.08.27
подпись Виндовс


15-1266355805
Юрий
2010-02-17 00:30
2010.08.27
С днем рождения ! 17 февраля 2010 среда


6-1217926149
dima_tepl
2008-08-05 12:49
2010.08.27
Работа с микроконтроллером по TCP/IP протоколу


2-1268800942
zergost
2010-03-17 07:42
2010.08.27
как запихать в DBGrid данные


3-1239892608
Сантропе
2009-04-16 18:36
2010.08.27
Подскажите утилиту для работы с PARADOX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский