Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GoldDragondx
0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 1
#1

Отобразить список USB дисков - C++

15.06.2015, 00:22. Просмотров 251. Ответов 1
Метки нет (Все метки)

Нужна функция которая будет выводить в виде выпадающего списка подключенные на данный момент USB Flash, в этом списке их можно было выбрать и нажав на кнопу сравнивалась уникальная информация флешки(серийник или еще что) с тем что указан в самой программе.

Гуглил довольно долго, но к сожалению мануалов по данному вопросу так и не нашел. Единственное адекватное нашел такую штуку на сайте microsoft,

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
#include "usb.h"
#include <stdio.h>
#include <windows.h>
#include <setupapi.h>
#include <devguid.h>
#include <regstr.h>
#include <iostream>
#include <string.h>
#include <wchar.h>
#include <tchar.h>
 
usb::usb()
{
    GUID GUID_USB_DEVICE={0x36FC9E60,0xC465,0x11CF,0x80,0x56,0x44,0x45,0x53,0x54,0x00,0x00};
     HDEVINFO LISTDRIVE = NULL;
     SP_DEVINFO_DATA DATAINFO;
     LPTSTR buffer = NULL;
     DWORD  buffersize = 0;
     int ch=0;
 
 
     LISTDRIVE = SetupDiGetClassDevs
     (&GUID_USB_DEVICE,
      0,
      0,
      DIGCF_PRESENT | DIGCF_ALLCLASSES );
      if (LISTDRIVE == INVALID_HANDLE_VALUE)
 
     {
       printf(" Non ");
       return;
     }
     else
     {
       printf(" Yap ");
 
     }
     DATAINFO.cbSize = sizeof(SP_DEVINFO_DATA);
 
 
     for(ch=0; SetupDiEnumDeviceInfo(LISTDRIVE, ch, &DATAINFO); ch++)
 
     {
 
         while (!SetupDiGetDeviceRegistryProperty(
         LISTDRIVE,
         &DATAINFO,
         SPDRP_COMPATIBLEIDS,
         NULL,
         (PBYTE)buffer,
         buffersize,
         &buffersize))
         {
           if(GetLastError() == ERROR_INSUFFICIENT_BUFFER)
               {
               if (buffer) LocalFree(buffer);
 
               }
           else break;
         }
        printf("Result:[%s]\n",(char*)buffer);
        if (buffer) LocalFree(buffer);
    }
     SetupDiDestroyDeviceInfoList(LISTDRIVE);
 
 
}
но она выдает только

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
Отладка запущена
 Yap Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Result:[(null)]
Отладка завершена
Место откуда взял https://support.microsoft.com/ru-ru/kb/259695
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2015, 00:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отобразить список USB дисков (C++):

Создать список L3 из элементов, входящих и в список L1 и в список L2 - C++
создать список л3 из элементов входящих и в список л1 и в список л2

Получить список дисков в системе и отобразить их иконки - Visual Basic .NET
доброго времени суток. помогите с таким моментом. как можно отобразить то что показано на рисунке. и как получить доступ к отображению...

Отобразить в ListBox имена дисков в системе - Visual Basic .NET
Добрый день,как загрузать в лист бокс все доступные диски с их названиями,например в системе торчит только один диск и поле запуска проги ...

Вывод USB жестких дисков и флешок - C#
Здравствуйте! Подскажите как можно получить список USB жестких дисков и флешок

Создать файл - список студентов группы, отобразить на форме список сту-дентов с фамилией на заданную букву - Delphi
Создать файл - список студентов группы, отобразить на форме список сту-дентов с фамилией на заданную букву

Получить список дисков - C#
Есть функция DWORD WINAPI GetLogicalDrives(void) Делаю следующий вызов в событии Form1_Shown Drivers=GetLogicalDrives(); ...

1
temkasky
81 / 81 / 28
Регистрация: 26.11.2012
Сообщений: 303
30.07.2015, 15:04 #2
ап теме, мне тоже хотелось бы узнать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2015, 15:04
Привет! Вот еще темы с ответами:

Список локальных дисков - Visual Basic
Как в ComboBOX загнать имеющиеся локальные диски, и при выборе одного из них все данные он загонял в List таблицей для Visual Basic

Список жестких дисков - Delphi
Здраствуйте. Подскажите, как можно узнать сколько на компе жестких дисков(букв, типа C,D,E...), и записать ети буквы в КомбоБокс....

Вывод список дисков - C#
Всем привет! Как можно выводить в окно список всех дисков или список все подключенных флешок ??

Получить список физических дисков - C++ WinAPI
Здравствуйте! Как можно получить список имен физических дисков в формате PhysicalDriveN, где N - номер диска?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.