Re[5]: Имена дисков
От: Sergey J. A. Беларусь  
Дата: 25.02.04 15:28
Оценка: 3 (1)
Здравствуйте, Ozone, Вы писали:

O>Не могли бы Вы привести небольшой примерчик, а то что-то не получается.


Мог бы.


TCHAR tchBuff[256];
GetLogicalDriveStrings(256, tchBuff);

TCHAR *pCurStr = tchBuff;
while(*pCurStr!=_T('\0'))
{
    TRACE("%s\n", pCurStr);
    pCurStr += strlen(pCurStr)+1;
}


Выводит список путей к дискам.

A:\
C:\
D:\
....
Re[6]: Имена дисков
От: _nn_  
Дата: 25.02.04 17:55
Оценка: 2 (1)
Здравствуйте, Sergey J. A., Вы писали:

SJA>Здравствуйте, Ozone, Вы писали:


<skip>

SJA>
SJA>TCHAR tchBuff[256];
SJA>GetLogicalDriveStrings(256, tchBuff);

SJA>TCHAR *pCurStr = tchBuff;
SJA>while(*pCurStr!=_T('\0')) // while(*pCurStr) ,IMHO так лучше , меньше писать и об _T не нужно думать , только не надо флейм разводить по этому поводу  ;) 
SJA>{
SJA>    TRACE("%s\n", pCurStr);
SJA>    pCurStr += strlen(pCurStr)+1;
SJA>}
SJA>
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Имена дисков
От: Аноним  
Дата: 25.02.04 13:07
Оценка: -1
Здравствуйте, Ozone, Вы писали:

O>Как получить список имен всех физических диков на копльютере?


GetDriveType(чего-то там)
Re[2]: Имена дисков
От: Аноним  
Дата: 25.02.04 13:08
Оценка: -1
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Ozone, Вы писали:

O>>Как получить список имен всех физических диков на копльютере?
А>GetDriveType(чего-то там)
в смысле перенумеровывать все буквы от A до Z.
Re: Имена дисков
От: pm_kan  
Дата: 03.03.04 09:51
Оценка: -1
Здравствуйте, Ozone, Вы писали:

O>Как получить список имен всех физических диков на копльютере?



    char driveName[]="A:\\";
        for (char d='A'; d<='Z'; d++){
            driveName[0]=d;
            switch (GetDriveType(driveName)){
                case DRIVE_REMOVABLE:{
                   //cvtyyst
                    break;
                }
                case DRIVE_CDROM:{
                   //cdrom
                    break;
                    }
                case DRIVE_FIXED:{
                //жесткие
                    break;
                }
                case DRIVE_RAMDISK:{
                   //RAM-диски
                    break;
                }
                case DRIVE_REMOTE:{
                   //сетевые
                    break;
                }
                case 0:{
                    //неопознанные
                    break;
                }
            }//switch
        }//for
Имена дисков
От: Ozone Россия  
Дата: 25.02.04 12:23
Оценка:
Как получить список имен всех физических диков на копльютере?
Re[3]: Имена дисков
От: Sergey J. Azarkevich Беларусь  
Дата: 25.02.04 13:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Ozone, Вы писали:

O>>>Как получить список имен всех физических диков на копльютере?
А>>GetDriveType(чего-то там)
А>в смысле перенумеровывать все буквы от A до Z.


DWORD GetLogicalDriveStrings(
  DWORD nBufferLength,
  LPTSTR lpBuffer
);


Это я думаю более то что нужно.
Re[4]: Имена дисков
От: Ozone Россия  
Дата: 25.02.04 14:41
Оценка:
Здравствуйте, Sergey J. Azarkevich, Вы писали:

SJA>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Аноним, Вы писали:


А>>>Здравствуйте, Ozone, Вы писали:

O>>>>Как получить список имен всех физических диков на копльютере?
А>>>GetDriveType(чего-то там)
А>>в смысле перенумеровывать все буквы от A до Z.


SJA>
SJA>DWORD GetLogicalDriveStrings(
SJA>  DWORD nBufferLength,
SJA>  LPTSTR lpBuffer
SJA>);
SJA>


SJA>Это я думаю более то что нужно.


Не могли бы Вы привести небольшой примерчик, а то что-то не получается.
Re[6]: Имена дисков
От: Ozone Россия  
Дата: 25.02.04 15:43
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Здравствуйте, Ozone, Вы писали:


O>>Не могли бы Вы привести небольшой примерчик, а то что-то не получается.


SJA>Мог бы.



SJA>
SJA>TCHAR tchBuff[256];
SJA>GetLogicalDriveStrings(256, tchBuff);

SJA>TCHAR *pCurStr = tchBuff;
SJA>while(*pCurStr!=_T('\0'))
SJA>{
SJA>    TRACE("%s\n", pCurStr);
SJA>    pCurStr += strlen(pCurStr)+1;
SJA>}
SJA>


А это что за условие?

pCurStr!=_T('\0')
Re[7]: Имена дисков
От: Sergey J. A. Беларусь  
Дата: 25.02.04 16:39
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Sergey J. A., Вы писали:


SJA>>Здравствуйте, Ozone, Вы писали:


O>>>Не могли бы Вы привести небольшой примерчик, а то что-то не получается.


SJA>>Мог бы.



SJA>>
SJA>>TCHAR tchBuff[256];
SJA>>GetLogicalDriveStrings(256, tchBuff);

SJA>>TCHAR *pCurStr = tchBuff;
SJA>>while(*pCurStr!=_T('\0'))
SJA>>{
SJA>>    TRACE("%s\n", pCurStr);
SJA>>    pCurStr += strlen(pCurStr)+1;
SJA>>}
SJA>>


O>А это что за условие?


O>
O>pCurStr!=_T('\0')
O>


Результат приходит в виде строк. Последняя, пустая строка указывает на конец списка.
pCurStr!=_T('\0')

Так проверяется, ссылается ли указатель на пустую строку aka конец списка.
Не обязательно тому буква назначается!
От: SilverCloud Россия http://rodonist.wordpress.com
Дата: 15.03.04 16:46
Оценка:
В Win2K+ — cабж.
Кому на Руси жить...
Re: Имена дисков
От: migel  
Дата: 16.03.04 10:48
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Как получить список имен всех физических диков на копльютере?

WMI?
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.