Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 57
от 10.04.2005, 23:30

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 19279: Привет! Как можно получить список всех дисков компьютера и сетевых папок?...

Вопрос № 19279
Привет!
Как можно получить список всех дисков компьютера и сетевых папок?
Отправлен: 05.04.2005, 19:43
Вопрос задал: Торба Андрей Николаевич (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: John Freeman
Здравствуйте, Торба Андрей Николаевич!
1) GetLogicalDrives(результат - bitmask), GetLogicalDriveStrings(результат - строки)
2) К NetBios, для локального - ключи в реестре в Lanmanserver\
Ответ отправил: John Freeman (статус: Профессионал)
Отправлен: 05.04.2005, 21:18

Отвечает: Gregory
Здравствуйте, Торба Андрей Николаевич!
Для получения дисков можно воспользоваться функцией GetLogicalDrives или функцией GetLogicalDriveStrings. Для перечисления сетевых папок воспользуйтесь функцией NetShareEnum.
Ответ отправил: Gregory (статус: 1-ый класс)
Отправлен: 06.04.2005, 02:10

Отвечает: Raptor1
Здравствуйте, Торба Андрей Николаевич!
Вот набросал тут на скорую руку, только флешка получается как floppy
void EnumDriveList()
{
char Buffer[512];
memset(Buffer,0,512);
DWORD dwSize=GetLogicalDriveStrings(512,Buffer);
DWORD dwFlow=0;
CString strTemp;
CString strRez;
while(dwFlow<dwSize)
{
strTemp=Buffer+dwFlow;
if(strTemp.GetLength()!=0)
{
switch(GetDriveType(strTemp))
{
case DRIVE_UNKNOWN:
{
strRez=strTemp+": UNKNOWN";
break;
}
case DRIVE_NO_ROOT_DIR:
{
strRez=strTemp+": INVALID PATH";
break;
}
case DRIVE_REMOVABLE:
{
strRez=strTemp+": FLOPPY";
break;
}
case DRIVE_FIXED:
{
strRez=strTemp+": HDD";
break;
}
case DRIVE_REMOTE:
{
strRez=strTemp+": NETWORK";
break;
}
case DRIVE_CDROM:
{
strRez=strTemp+": CDROM";
break;
}
case DRIVE_RAMDISK:
{
strRez=strTemp+": VIRTUAL";
break;
}
}
// это CListBox
m_ctrlDrive.AddString(strRez);
}
dwFlow+=strTemp.GetLength()+1;
}
}
Ответ отправил: Raptor1 (статус: 2-ой класс)
Отправлен: 07.04.2005, 23:04


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Отписаться

В избранное