Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181

Информация о производителе (изготовителе, модели) usb флешки

09.04.2012, 20:02. Показов 1693. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите пожалуйста кто знает как вытащить информацию о производителе (изготовителе, модели) usb флешки?

Добавлено через 1 час 0 минут
зашел сюда и незнаю как сделать
Кто-то сталкивался с diskid32?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2012, 20:02
Ответы с готовыми решениями:

Пропала частично информация с флешки
У меня в фотоаппарате стоит флешка pin Transcend Speicherkarte 32gb Microsdhc Class 10 Inkl. Я её также использую для хранения и других...

Духовка Hansa модели пока нет, Дамп флешки 1.1.1.5
Нужен дамп флешки

Не грузится с usb-флешки
Не грузится установочная ОС с usb-флешки....хоть и в настройках выбрал USB биос- Phoenix Award BIOS, может ли это быть из-за того что...

5
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
09.04.2012, 21:40
Цитата Сообщение от Dondok Посмотреть сообщение
зашел сюда и незнаю как сделать
там консольный вариант для Visual... Тут нужен эксперт с++, хоть здесь много у кого подпись эксперт С++, проявляют себя они крайне не активно!
2
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2012, 22:01
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
    #define UNICODE
    #define _UNICODE
    #include <windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <locale.h>
    #include <WinIoCtl.h>
     
    WCHAR* GetElem(WCHAR *ptr,WCHAR delim,WCHAR *buf)
    {
       WCHAR *ptr1=NULL;
       ptr1=wcschr(ptr,delim);
       if (ptr1)
       {
          wcsncpy(buf,ptr,(int)(ptr1-ptr));
          buf[(int)(ptr1-ptr)]=0;
          return (ptr1+1);
       }
       else
       {
          wcscpy(buf,ptr);
          return NULL;
       }
    }
     
    //Входные данные:
    //IN drive_letter - буква диска
    void PrintFlashDriveInfo(WCHAR drive_letter)
    {
       HKEY hk=NULL;
       LONG Ret=0;
       HANDLE hdrive=INVALID_HANDLE_VALUE;
       DWORD data_size,dtype;
       WCHAR *data=NULL,*buf1=NULL,*buf2=NULL;
       WCHAR *ptr1_1=NULL,*ptr1_2=NULL,*ptr2_1=NULL,*ptr2_2=NULL;
       WCHAR dos_link[50];
       WCHAR drive_name2[20];
     
       __try
       {
          //проверяем существует ли диск в системе
          wsprintf(drive_name2,L"\\\\.\\%c:",drive_letter);
          hdrive = CreateFileW(drive_name2,0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
          if (hdrive==INVALID_HANDLE_VALUE)
          {
             wprintf(L"Ошибка PrintFlashDriveInfo: Ошибка CreateFile: %u\n\n",GetLastError());
             __leave;
          }
          CloseHandle(hdrive);
     
          Ret = RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SYSTEM\\MountedDevices",0,KEY_READ,&hk);
          if (Ret!=ERROR_SUCCESS)
          {
             wprintf(L"Ошибка PrintFlashDriveInfo: Ошибка RegOpenKeyEx: %u\n\n",Ret);
             __leave;
          }
     
          wsprintf(dos_link,L"\\DosDevices\\%c:",drive_letter);
          Ret=RegQueryValueExW(hk,dos_link,NULL,&dtype,NULL,&data_size);
          if (Ret==ERROR_SUCCESS)
          {
             data=(WCHAR *)malloc(data_size+2);
             buf1=(WCHAR *)malloc(data_size+2);
             buf2=(WCHAR *)malloc(data_size+2);
             if (data==NULL||buf1==NULL||buf2==NULL)
             {
                wprintf(L"Ошибка PrintFlashDriveInfo: Ошибка malloc.\n\n");
                __leave;
             }
             memset(data,0,data_size+2);
     
             Ret=RegQueryValueExW(hk,dos_link,NULL,&dtype,(LPBYTE)data,&data_size);
             if (Ret!=ERROR_SUCCESS)
             {
                wprintf(L"Ошибка PrintFlashDriveInfo: Ошибка RegQueryValueEx: %u\n\n",Ret);
                __leave;
             }
             if(wcsstr(data,L"USBSTOR")!=NULL)
             {
                wprintf(L"Данные флеш-диска %c:\n",drive_letter);
                ptr1_1=GetElem(data,L'#',buf1);
                if (ptr1_1)
                {
                   ptr1_2=GetElem(ptr1_1,L'#',buf1);
                   ptr1_1=buf1;
                   do
                   {
                      ptr2_2=GetElem(ptr1_1,L'&',buf2);
                      if (wcsstr(buf2,L"Ven_"))
                         wprintf(L"Производитель: %s\n",buf2+4);
                      else if (wcsstr(buf2,L"Prod_"))
                         wprintf(L"Название продукта: %s\n",buf2+5);
                      ptr1_1=ptr2_2;
                   } while (ptr2_2);
     
                   ptr1_1=GetElem(ptr1_2,L'#',buf1);
                   ptr1_1=buf1;
                   do
                   {
                      ptr2_2=GetElem(ptr1_1,L'&',buf2);
                      if (wcslen(buf2)>3)
                      {
                         wprintf(L"Серийный номер: %s\n",buf2);
                         break;
                      }
                      ptr1_1=ptr2_2;
                   } while (ptr2_2);
                }
             }//if USBSTOR
             else
                wprintf(L"Диск %c: НЕ является флешкой\n",drive_letter);
          }
          else
             wprintf(L"Ошибка PrintFlashDriveInfo: Ошибка RegQueryValueEx: %u\n",Ret);
     
          wprintf(L"\n");
       }
       __finally
       {
          if (data!=NULL) free(data);
          if (buf1!=NULL) free(buf1);
          if (buf2!=NULL) free(buf2);
          if (hk!=NULL) RegCloseKey(hk);
       }
    }
     
     
    int wmain(int argc, WCHAR* argv[])
    {
       setlocale(LC_ALL,"Russian");
     
       PrintFlashDriveInfo(L'H');
       PrintFlashDriveInfo(L'G');
       PrintFlashDriveInfo(L'C');
       PrintFlashDriveInfo(L'Я');
     
       wprintf(L"Нажмите любую клавишу...");
       _getch();
       return 0;
    }
Взято отсюда
http://дудки/index.php?showtopic=351424&st=0
 Комментарий модератора 
Avazart, ссылки на другие форумы запрещены правилами. Не стоит этими ссылками злоупотреблять.
Устное предупреждение.
2
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
10.04.2012, 22:39  [ТС]
Avazart, компилятор не знает
C++
1
__leave;
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
11.04.2012, 12:36
Замените их на
C++
1
return;
If __try block execution terminates due to a control statement (return, break, continue, or goto), the __finally block is executed.
0
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
11.04.2012, 20:22  [ТС]
BRcr, спасибо. Заменил и получается что программа выдает только серийный номер (и то он считан из реестра и по моему совсем не то считает за серийный номер). Мне нужно из самой флешки достать серийный номер, который записан изготовителем. Драйвер же как-то посредством каких-то функций же достает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2012, 20:22
Помогаю со студенческими работами здесь

Не видит usb флешки
Компьютер не видит флешки. Принтер, мышка работают. Смотрел в диспетчере, там отмечает как не установленные драйвера и так для любой usb...

Ошибка USB - флешки
В процессе записи файла на флешку во время прогресса записи вдруг неожиданно вылезло сообщение : Диск защищен от записи, и остаток файла не...

Подключение USB-флешки.
Добрый день. Необходимо подключить обыкновенную USB флешку с FAT32 к контроллеру для считывания пары строк из текстового файла, их...

Первые usb флешки
Так получилось, что увлекся коллекционирование usb флешек. Вот заинтересовал вопрос про самые первые usb флешки. В сети толком ничего не...

Восстановление USB флешки
Есть USB Флешка Silicon Power на 32 ГБ. Работала, работала себе, затем поработала с Linux, дал команду mount /dev/sdb /mnt и после этого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru