Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Получение сер.ключа флэшки


Автор: D7_beginner 3.12.2007, 15:19
Здраствуйте! Подскажите пожалуйста.

Задача такова: Программа должна работать при подключении только одного ЮЗБ накопителя. То есть она должна читать какой-то уникальный номер или еще что то из ЮЗБ накопителя и сравнить с номером вписанным в программу. Если номер совподает программа должа заработать или отказать. (тема касается защиты программы)

Заранее СПАСИБО за подсказку!

Автор: bartram 3.12.2007, 16:14
Вот посмотри простейший пример получения данных о флешке.

Автор: D7_beginner 4.12.2007, 12:42
Спасибо Бартрам, это то что мне нужно.

Автор: MetalFan 3.1.2008, 19:30
допилил немного пример от bartram.
теперь он серийник, производителя и название устройства показывает...

Автор: Rowi 2.3.2008, 12:57
Во-первых, вопрос: при запуске присоединённого примера iSerialNumber для всех флэшек равен 3 (???). Реально отличаются только idVendor и idProduct. Это по ним надо идентифицировать флэшку?

И во-вторых.
Допустим, подключено несколько флэшек, мы идентифицировали персонально каждую по чём-нибудь... Как можно узнать, какая конкретно буква диска выделена для конкретной флэшки? (Список букв всех флэшек вместе уже получил).

Автор: MetalFan 2.3.2008, 15:10
Rowi, ты чей пример смотрел? все эти цифры - это номера(id?) строк. которые еще нужно получить. в моем доработанном варианте это сделано

Автор: Rowi 2.3.2008, 18:16
Цитата(MetalFan @  2.3.2008,  15:10 Найти цитируемый пост)
Rowi, ты чей пример смотрел?

Я смотрел первый пример. Т.к. в своей D5 я не могу откомпилировать ни тот, ни другой пример. В первом, кроме кода, есть и exe-шник. Я просто пытался разбирать код, сравнивая его с полученным в exe-шнике результатом. А во втором примере только исходники, и поэтому намного сложнее разобраться. Если бы ты выложил и exe -- я был бы премного благодарен.

Я почему подумал  на idVendor и idProduct -- они для каждой флэшки разные, а для одной и той же -- всегда одинаковые. По ним нельзя идентифицировать?

Автор: Rowi 2.3.2008, 19:26
MetalFan, прошу прощения -- уже разобрался и со вторым примером. Всё супер!!! smile Огромное спасибо за пример!

И всё-таки, подскажите кто-нибудь, плиз, вторую часть вопроса:
Допустим, подключено несколько флэшек, и мы идентифицировали персонально каждую. Как можно узнать, какая конкретно буква диска выделена для конкретной флэшки? (Список букв всех флэшек вместе уже получил).
Или наоборот: как по заданной букве флэшки узнать именно её серийник.
Т.е. как сопоставить серийник и букву диска?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)