Имя: Пароль:
1C
1С v8
82 обычное приложение
0 lamme
 
18.01.12
08:11
Как определить программно список съемных дисков (букв дисков) на компутере ?
1 Чайник Рассела
 
18.01.12
08:16
скритом
2 lamme
 
18.01.12
08:17
логично.
а пример какой ниб ?
желательно работающий
3 kosts
 
18.01.12
08:20
вот по близкой теме

http://infostart.ru/public/20270/
4 lamme
 
18.01.12
08:35
чуть не то
там надо знать ID устройства .. где ж взять то его
5 lamme
 
18.01.12
08:38
в приницпе нашел

//При помощи скрипта получаем перечень всех дисков компьютера:
Попытка                                                      
   ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
   ScrptCtrl.Language="vbscript";                                
   ScrptCtrl.addcode("                                          
   |Function GetComputers()        
   | Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"")        
   | Set colDisks = objWMIService.ExecQuery (""Select * from Win32_LogicalDisk"")                      
   | For Each objDisk in colDisks                                                                      
   | disk = disk & objDisk.DeviceID & "";"" & objDisk.DriveType& "";""                                  
   | Next                                                                                              
   | GetComputers = disk                                                                                
   |End Function
   |");                                                                                                
   Текст=СокрЛП(ScrptCtrl.Run("GetComputers"));                                                                                      
Исключение                                                                                              
   Предупреждение(ОписаниеОшибки());                                                                    
КонецПопытки;                                                                                        
//Далее создадим таблицу дисков компьютера
ТабДисков = Новый ТаблицаЗначений;                                                                  
ТабДисков.Колонки.Добавить("Диск");                                                                  
ТабДисков.Колонки.Добавить("Описание");                                                              
//Переберая полученную информацию из скрипта добавляем ее в таблицу
Пока СтрДлина (Текст)> 0 Цикл                                                                            
   Строка = ТабДисков.Добавить();                                                                      
   Строка.Диск = Лев(Текст,2);    
   // Далее определим тип диска:
   // 1 - Дисковод
   // 2 - Flash накопитель
   // 3 - Локальный жесткий диск
   // 4 - Сетевой диск
   // 5 - CD/DVD дисковод
   Строка.Описание = Сред(Текст,4,1);                                                                  
   Текст = Сред(Текст,6,СтрДлина (Текст)-5);                                                            
КонецЦикла;
// Далее переберая элементы таблицы выведем флешки в окно сообщений
Сообщить("Флешки:");
Для Каждого Элемента Из ТабДисков Цикл                            
   Если Элемента.Описание = "2" Тогда
       Сообщить(Элемента.Диск);
   КонецЕсли;                                                        
КонецЦикла;
Ошибка? Это не ошибка, это системная функция.