powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinAPI (список дисков)
7 сообщений из 7, страница 1 из 1
WinAPI (список дисков)
    #38196662
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Подскажите, пожалуйста, почему когда я использую следующий код, что бы получить список дисков на компьютере, получаю в списке также диски, которые не вижу в explorer? Выдает диски:
A:\
C:\
D:\
E:\
F:\
G:\
H:\
Z:\

Диски C, E,H, Z вижу в explorer, а другие нет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
TCHAR szBuffer[1024];
::GetLogicalDriveStrings(1024, szBuffer);
TCHAR *pch = szBuffer;
while (*pch) {
	SendMessage(myCBS_LEFT,CB_ADDSTRING,NULL,(LPARAM) pch);
	pch += 4;
}


Заранее спасибо!
...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38196685
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное не совсем удачный код привел, уточню. Вот эта функция возвращает диски видимые и невидимые:
Код: plaintext
1.
::GetLogicalDriveStrings(1024, szBuffer);
...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38196697
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GВот эта функция возвращает диски видимые и невидимые:
Нет, она возвращает допустимые имена дисков. В точности как и написано в её описании.
Ничего более.

Попробуй QueryDosDevice().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38196715
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMaximuS_GВот эта функция возвращает диски видимые и невидимые:
Нет, она возвращает допустимые имена дисков. В точности как и написано в её описании.
Ничего более.

Попробуй QueryDosDevice().

Спасибо, но, к сожалению, эта функция вернула вообще один диск :(
...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38196784
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
#include <iostream>
#include <windows.h>

using namespace std;

//----------------------------------------
void get_drive_name1()
{
    cout<<"Use GetLogicalDrives():"<<endl;
    DWORD disks=GetLogicalDrives();

    char disk_name='A';
    for(int i=0;i<32;i++)
    {
        if(disks & 1)
        {
            cout<<disk_name<<endl;
        }

        disk_name++;
        disks>>=1;
    }

}
//----------------------------------------
void get_drive_name2()
{
    cout<<"Use GetDriveTypeA():"<<endl;

    unsigned int rez;
    char disk_name[]="A:\\";
    for(int i=0;i<26;i++)
    {
        rez=GetDriveTypeA(disk_name);
        switch(rez)
        {
            case DRIVE_FIXED:
                cout<<"FIXED - "<<disk_name<<endl;
                break;
            case DRIVE_CDROM:
                cout<<"CDROM - "<<disk_name<<endl;
                break;
            //case DRIVE_REMOVABLE:
            //case DRIVE_REMOTE:
            //case DRIVE_RAMDISK:
        }

        disk_name[0]++;
    }

}
//----------------------------------------
int main()
{
    get_drive_name1();

    get_drive_name2();

    return 0;
}
//----------------------------------------

...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38196787
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GDimitry Sibiryakovпропущено...

Нет, она возвращает допустимые имена дисков. В точности как и написано в её описании.
Ничего более.

Попробуй QueryDosDevice().

Спасибо, но, к сожалению, эта функция вернула вообще один диск :(Значит либо у тебя действительно всего один диск, либо ты забыл что функция возвращает массив.
...
Рейтинг: 0 / 0
WinAPI (список дисков)
    #38197277
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Sla ,
интересный вариант, спасибо большое, попробую!

White Owl ,
я имел ввиду один диск в массиве :).

PS. На моем другом компьютере, функция GetLogicalDriveStrings, возвращает правильно все видимые диски... странно как-то :).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinAPI (список дисков)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]