Вверх ↑
Этот топик читают: Гость
Ответов: 1064
Рейтинг: 76
#16: 2015-03-15 11:17:59 ЛС | профиль | цитата
Для этого дела используется WinApi, учитывая что кроме C# и чуток VB, а больше никаких языков незнаю, то кроме костыля больше ничего предложить не могу.
В принципе можно IC, даже кубик сделать, но нужно просить наших гуру.
Я, максимум, могу добавить поддержку командной строки. Или ткнуть пальцем на используемые функции.
карма: 0

1
Голосовали:KopBuH, sla8a, Tad
Ответов: 35
Рейтинг: 5
#17: 2015-03-15 12:09:09 ЛС | профиль | цитата
Ясно. подходящего компонента нет в HiAsm.
Компоненты DiskInfo и Hard по сути дублируют друг друга.
Хотелось бы такой компонент, который бы работал с физическими дисками.
Тот же Enum, а в нём:
Имя (фирма и модель), размер, номер физического диска, список букв, серийный номер.
Было бы вообще шикарно, будь там еще статус SMART.

карма: 0

0
Ответов: 1064
Рейтинг: 76
#18: 2015-03-15 13:02:33 ЛС | профиль | цитата
Обновил предыдущий пост, там случайно одинаковое имя для схемы и утилиты дал, при запуске схема сама себя цыклически запускает.
Извиняюсь - недоглядел.
В обнове добавил командную строку, теперь можно указать какой диск выводить, без параметров выводит все диски.
KopBuH писал(а):
Имя (фирма и модель), размер, номер физического диска, список букв, серийный номер.

Если не ошибаюсь можно на vbs сделать.
------------ Дoбавленo в 13.02:
Ооо, еще и минус влепили. Вот и помогай людям

------------ Дoбавленo в 13.26:
Вот на vbjscript с использованием WMI, только для примера. В сети куча скриптов для расширения функционала. Для SMART тут
Add(MainForm,2953706,203,91)
{
Width=424
Height=587
link(onCreate,7519843:doWork,[])
}
Add(VBJScript,7519843,252,105)
{
WorkPoints=#6:doWork|
EventPoints=#6:onWork|
Script=#0:|22:Sub doWork(Data,Index)|17:strComputer = "."|29:Set wmiServices = GetObject _|66: ("winmgmts:{impersonationLevel=Impersonate}!//" & strComputer)|0:|43:Set wmiDiskDrives = wmiServices.ExecQuery _|53: ("SELECT Caption, DeviceID FROM Win32_DiskDrive")|1: |38:For Each wmiDiskDrive In wmiDiskDrives|50: sys.onWork "Caption: " & wmiDiskDrive.Caption |51: sys.onWork "DeviceID: " & wmiDiskDrive.DeviceID|34: strEscapedDeviceID = Replace _|64: (wmiDiskDrive.DeviceID, "", "\", 1, -1, vbTextCompare)|51: Set wmiDiskPartitions = wmiServices.ExecQuery _|58: ("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & _|54: strEscapedDeviceID & """} WHERE AssocClass = " & _|41: "Win32_DiskDriveToDiskPartition")|1: |50: For Each wmiDiskPartition In wmiDiskPartitions|64: sys.onWork "DiskPartition: " & wmiDiskPartition.DeviceID|53: Set wmiLogicalDisks = wmiServices.ExecQuery _|66: ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & _|73: wmiDiskPartition.DeviceID & """} WHERE AssocClass = " & _|51: "Win32_LogicalDiskToPartition")|1: |50: For Each wmiLogicalDisk In wmiLogicalDisks|58: sys.onWork "Drive: " & wmiLogicalDisk.DeviceID|12: Next|8: Next|22: sys.onWork "*****"|4:Next|7:End Sub|
UseName=0
link(onWork,11718090:doAdd,[])
}
Add(Memo,11718090,315,105)
{
Left=10
Top=5
Width=385
Height=530
}


карма: 0

1
Голосовали:KopBuH
Ответов: 704
Рейтинг: 44
#19: 2015-03-15 13:27:59 ЛС | профиль | цитата
tom-it писал(а):
Ооо, еще и минус влепили. Вот и помогай людям

[flood]
Походу перегрелся диск в голове Сделай ему схему, чтобы пожизненный цикл поиска производил, как в голове так и на компе.
[/flood]
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#20: 2015-03-15 23:09:47 ЛС | профиль | цитата
tom-it, добавил +1.
А то
Сообщение писал(а):
Самый высокий рейтинг у сообщения (0) оставленное сегодня - tom-it

Добрые дела всегда наказуемы...
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 35
Рейтинг: 5
#21: 2015-03-19 07:32:54 ЛС | профиль | цитата
tom-it, за минус извиняюсь, по ошибке мышкой не в ту сторону провел.
я не сразу понял, как работает эта система оценок

За скрипт спасибо, работает, разобрался.
карма: 0

0
21
Сообщение
...
Прикрепленные файлы
(файлы не залиты)