Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.131 c
15-1268861402
Юрий
2010-03-18 00:30
2010.08.27
С днем рождения ! 18 марта 2010 четверг


2-1267644344
Nostalgia
2010-03-03 22:25
2010.08.27
Помогите пожалуйста доработать программу


15-1273216756
Ivan
2010-05-07 11:19
2010.08.27
Отчет в Delphi


15-1274775765
bss
2010-05-25 12:22
2010.08.27
D2006, не работает "Find declaration" на DevExpress объектах


15-1270836779
Nickola2
2010-04-09 22:12
2010.08.27
Работа с USB - портом