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

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

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

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

25.12.2012, 12:56. Просмотров 278. Ответов 0
Метки нет (Все метки)

нужно найти информацию о подключенных дисках (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. Гуглил для с++ ничего толкового не нашел. Помогите кто может.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 12:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сбор данных о подключенных дисках (C++):

Обработка данных о музыкальных дисках - C++
Задача была такая: список муз.дисков: номер, название, кол-во песен, время проигрывания, цена. Распечатать данные про диски, в которых не...

Сбор и анализ данных в оперативной памяти - C++
Подскажите пожалуйста, какие вы знаете способы сбора данных из оперативной памяти(абсолютно любые способы) и соответственно что нить об...

Сбор данных о превышении лимита соединений используя лог-файл анализатора трафика - C++
Входной файл: input.txt Выходной: output.txt Системный администратор одного небольшого университета решил проверить, как пользователи...

Конструкторы классов в неявно подключенных DLL - C++
Добрый день, господа программисты! Столкнулся с парой проблем при работе с DLL При написании классов внутри DLL, компилятор не...

Найти сопротивление трех резисторов подключенных параллельно - C++
Три сопротивления R1, R2, R3 соединены параллельно. Найдите сопротивление соединения

Неправильный вывод информации о дисках - C++
Функция выдает не верную информацию. Вместо свободного места выводится размер диска. Все как будто съезжает вниз на один пункт. Не...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 12:56
Привет! Вот еще темы с ответами:

Получение информации о дисках установленных на компьютере - C++
Здравствуйте! Помогите мне пожалуйста написать консольное приложени на с++. В универе задали на лаб. работу.. Цель: изучение...

win API:найти информацию о логических дисках. - C++
Определить типы логических дисков, обьём диска, колличество секторов в клястере, тип драйвера.

MSDN 2001 на 4 дисках, есть у кого(Питер) - C++
Народ, помогите! Есть ли у кого этот MSDN 2001, мне нужен 1 диск, просто оный испортился а новое впадлу покупать. Если есть у кого -...

Как узнать, сколько на дисках свободного места - C++
Пожалуйста форумчане помогите с кодом как узнать сколько на дисках свободного места, надо чтоб в консоле под windows вывело на экран...


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

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

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