Форум программистов, компьютерный форум CyberForum.ru

сбор данных о подключенных дисках - C++

Восстановить пароль Регистрация
 
CSIS119
2 / 2 / 0
Регистрация: 28.11.2012
Сообщений: 11
25.12.2012, 12:56     сбор данных о подключенных дисках #1
нужно найти информацию о подключенных дисках (cdrom, ramdisc...)
нахожу их с помощью этого кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
this->listBox1->Items->Clear();
            this->comboBox1->Items->Clear();
        int n;
    char dd[5];
    DWORD dr = GetLogicalDrives();
 
    for( int i = 0; i < 26; i++ )
    {
        n = ((dr>>i)&0x00000001);
        if( n == 1 ) 
        {
            dd[0] =  char(65+i);
                dd[1] = ':'; 
                    dd[2] = '\\' ; 
                        dd[3] = '\\';
                            dd[4]=0;
            
            this->listBox1->Items->Add(gcnew System::String(dd));
            this->comboBox1->Items->Add(gcnew System::String(dd));
        }
    }
затем при выборе нужного диска в comboBox1 должна выдаваться информация о нем, начал с определения самого диска, каким он является. и тут возникли трудности. вот код:
C++
1
2
3
4
5
6
7
8
9
10
int d=0;
    String^ s= this->comboBox1->Text;
    d = GetDriveType((LPCWSTR)&s);
    if( d == DRIVE_UNKNOWN ) this->label44->Text =" UNKNOWN" ;
    if( d == DRIVE_NO_ROOT_DIR ) this->label44->Text =" DRIVE NO ROOT DIR" ;
    if( d == DRIVE_REMOVABLE ) this->label44->Text = " REMOVABLE" ;
    if( d == DRIVE_FIXED ) this->label44->Text =" FIXED";
    if( d == DRIVE_REMOTE ) this->label44->Text =" REMOTE";
    if( d == DRIVE_CDROM ) this->label44->Text =" CDROM" ;
    if( d == DRIVE_RAMDISK ) this->label44->Text =" RAMDISK" ;
проблема собственно в том, что в переменную s значение comboBox передается, а в строке d = GetDriveType((LPCWSTR)&s); его не использует, по всей видимости я намутил с типами данных и преобразованием. Спросил у преподавателя, он сказал, что нужно создать переменную типа DWORD для использования при вызове функции GetDriveType(). Но как тогда правильно String^ преобразовать в DWORD. Гуглил для с++ ничего толкового не нашел. Помогите кто может.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 12:56     сбор данных о подключенных дисках
Посмотрите здесь:

C++ MSDN 2001 на 4 дисках, есть у кого(Питер)
Получение информации о дисках установленных на компьютере C++
C++ win API:найти информацию о логических дисках.
Неправильный вывод информации о дисках C++
C++ Как узнать, сколько на дисках свободного места
Сбор данных о превышении лимита соединений используя лог-файл анализатора трафика C++
Структуры: информация о CD-дисках (исполнитель, название, длительность звучания, стоимость) C++
C++ Найти сопротивление трех резисторов подключенных параллельно

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru