Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: проблема с WMI (Win32_LogicalDisk) Добавлено: 15.02.08 17:29  

Автор вопроса:  sdf

Ответить

  Ответы Всего ответов: 21  

Номер ответа: 16
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #16
Добавлено: 16.02.08 19:50
HACKER, на моем компе диски A C D E G N

Забей на эту батву :), сделай себе нормальные диски - у меня тоже такая фегня была, потом забил и поставл каждый жестак как отдельный диск. Быстро и хорошо.

Ответить

Номер ответа: 17
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #17
Добавлено: 16.02.08 20:24
Что быстро? что хорошо?
Разбил 250 гигов на С(43)+E(74.5)+G(95.2) и нормально. Лично мне удобно хранить различную информацию на разных дисках. Путаницы как-то меньше получается..

Ответить

Номер ответа: 18
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #18 Добавлено: 17.02.08 09:41
Не парься, VBD вечно такие перлы выдает

Ответить

Номер ответа: 19
Автор ответа:
 sdf



Вопросов: 3
Ответов: 3
 Профиль | | #19 Добавлено: 17.02.08 15:35
Через API конечно проще, но мне нужно сделать все в WMI.

Это дубовый VB конечно виноват, приходится все делать через лишние переменные. Вот мой кусок кода переделан немного и работает:
Dim disk, colDisks As Object
Dim msg As String
    Set colDisks = GetObject("WinMgmts:";).InstancesOf("Win32_LogicalDisk";)
    For Each disk In colDisks
        msg = msg & disk.DeviceID & vbTab & disk.Description & vbCrLf
Next
Text9.Text = msg
End If


Еще баг нашел и исправил для MsgBox таким же путем, чтобы передавать в MsgBox переменную, у меня продваивались окна почему-то, я делал вывод в цикле. Короче, все оказалось проще.

Спасибо большое за помощь!

Ответить

Номер ответа: 20
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #20 Добавлено: 18.02.08 17:25
Это дубовый VB конечно виноват, приходится все делать через лишние переменные.
сам же пишешь сначала так...
Dim disk, colDisks
    Set colDisks = GetObject("WinMgmts:";).InstancesOf("Win32_LogicalDisk";)
    For Each disk In colDisks
        Text9.Text = disk.DeviceID & vbTab & disk.MediaType & vbCrLf
Next
потом эдак...
Dim disk, colDisks As Object
Dim msg As String
    Set colDisks = GetObject("WinMgmts:";).InstancesOf("Win32_LogicalDisk";)
    For Each disk In colDisks
        msg = msg & disk.DeviceID & vbTab & disk.Description & vbCrLf
Next
Text9.Text = msg
End If

не используй лишнюю переменную! загоняй в цикде в Text9.text

Ответить

Номер ответа: 21
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #21 Добавлено: 18.02.08 17:28
Да, и где гарантии, что disk.Description будет совпадать на разных системах?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам