Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#16: 2014-04-02 14:46:18 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:53
карма: 0

0
Ответов: 70
Рейтинг: 1
#17: 2014-04-02 17:54:00 ЛС | профиль | цитата
г. ость
Спасибо, им и пользуюсь. Нет там такого элемента. Вопрос всё еще открыт =(
карма: 0

0
Ответов: 1343
Рейтинг: 31
#18: 2014-04-02 21:42:09 ЛС | профиль | цитата
MBTY писал(а):
Спасибо, им и пользуюсь. Нет там такого элемента. Вопрос всё еще открыт =(


на вот



Add(MainForm,2953706,105,231)
{
Width=844
Height=497
Font=[Arial,8,1,0,204]
Caption="DeviceInfo"
Position=1
link(onCreate,6869934:doEnum,[])
}
Add(Hub,776385,112,35)
{
InCount=2
OutCount=6
link(onEvent1,10323478:doWork1,[(515,41)])
link(onEvent2,4303500:doClear,[(299,48)(299,62)])
link(onEvent3,2118966:doWork1,[(284,55)(284,118)])
link(onEvent4,9672375:doEnumDevice,[(135,62)(135,118)])
link(onEvent5,4303500:doSort,[])
link(onEvent6,4303500:doSetFocus,[])
}
Add(TreeViewTrain,4303500,329,56)
{
@Hint=#11:Tree Viewer|
@Color=16755370
Top=28
Width=391
Height=435
Align=1
Font=[Arial,8,0,0,204]
WinStyle=2
Name="tree"
Layout="grid"
HeightScale=100
ModeSp=3
SizeSp=2
Tooltips=0
IconsManager="icons"
DragDrop=0
CaptionIndex=3
IDIndex=1
IconIndex=2
Point(onMouseDown)
Point(onDblClick)
Point(Handle)
Point(doSort)
Point(onKeyDown)
Point(doSetFocus)
link(onClick,8259675:doEvent1,[])
}
Add(TVT_AddNode,10415196,210,84)
{
@Color=16755370
TreeView="tree"
}
Add(IconsManager,636586,210,182)
{
Name="icons"
Icons=[]
}
Add(ArrayRW,10148983,210,231)
{
link(Array,636586:IconArray,[])
}
Add(MTStrTbl,10789124,581,140)
{
@Color=11184895
Left=391
Top=28
Width=445
Height=435
Align=5
Font=[Arial,8,0,0,204]
Name="tab"
Columns=#8:Name=150|8:Data=270|
FlatScroll=1
}
Add(MT_MultiData,10165711,434,56)
{
From=4
Count=1
link(onData1,484255:doEvent1,[])
}
Add(MST_RowAction,13041089,210,126)
{
@Color=11184895
MSTControl="tab"
}
Add(MST_Clear,952511,581,56)
{
@Color=11184895
MSTControl="tab"
}
Add(Hub,484255,483,56)
{
OutCount=3
link(onEvent1,10323478:doWork2,[])
link(onEvent2,9672375:doDeviceInfo,[(507,69)(507,166)(135,166)(135,125)])
link(onEvent3,3746616:doData,[(515,76)(515,104)])
}
Add(ChildPanel,2701957,14,126)
{
link(onEvent1,7987426:doEvent1,[])
}
BEGIN_SDK
Add(EditMulti,12984835,21,21)
{
EventCount=1
Width=118
Height=67
VOffset=7
HOffset=63
}
Add(Panel,15614472,35,28)
{
Width=836
Height=28
Align=2
}
Add(CheckBox,4153065,84,28)
{
Left=15
Top=5
Width=190
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Caption="Show Hidden Devices"
link(onCheck,12984835:onEvent1,[])
}
END_SDK
Add(HubEx,10323478,511,56)
{
link(onEvent,952511:doClear,[])
}
Add(MST_SortInCol,8552318,581,98)
{
@Color=11184895
MSTControl="tab"
}
Add(DoData,3746616,532,98)
{
Data=Integer(0)
link(onEventData,8552318:doSort,[])
}
Add(Hub,7987426,63,126)
{
link(onEvent1,9672375:doShowHidden,[])
link(onEvent2,776385:doEvent1,[(88,139)(88,41)])
}
Add(ArrayEnum,6869934,161,245)
{
link(onItem,10148983:doAdd,[])
link(onEndEnum,776385:doEvent2,[(203,258)(203,286)(95,286)(95,48)])
link(Array,9672375:IconArray,[])
}
Add(DeviceInfo,9672375,147,112)
{
NotEmptyInfo=1
Point(doShowHidden)
link(onEnumDevice,10415196:doAddNode,[(195,118)(195,90)])
link(onEndEnum,6123379:doEvent1,[])
link(onDeviceInfo,13041089:doRowAction,[])
}
Add(SendMessage,16199774,336,112)
{
Message=4
link(Handle,4303500:Handle,[])
}
Add(StatusBar,5468645,651,357)
{
Panels=#4:=160|4:=160|
link(Panel,344869:Value,[])
}
Add(Memory,344869,658,308)
{
}
Add(ChanelToIndex,10927325,609,308)
{
Count=3
link(onIndex,344869:doValue,[])
}
Add(Hub,13612129,448,308)
{
InCount=2
OutCount=6
link(onEvent1,10927325:doWork1,[])
link(onEvent2,6012734:doStrCat,[])
link(onEvent3,10927325:doWork2,[(578,328)(578,321)])
link(onEvent4,11771558:doStrCat,[(489,335)(489,363)])
link(onEvent5,10927325:doWork3,[(595,342)(595,328)])
link(onEvent6,11471405:doString,[(474,349)(474,405)])
}
Add(HubEx,4361020,567,357)
{
link(onEvent,5468645:doText,[])
}
Add(Hub,6123379,259,119)
{
link(onEvent1,2118966:doWork2,[])
link(onEvent2,13612129:doEvent2,[(284,132)(284,321)])
}
Add(StrCat,6012734,497,315)
{
Str1="DeviceClasses Count: "
link(onStrCat,4361020:doWork1,[(571,321)])
link(Str2,9672375:CountClasses,[(510,301)(153,301)])
}
Add(StrCat,11771558,525,357)
{
Str1="Devices Count: "
link(onStrCat,4361020:doWork2,[])
link(Str2,9672375:CountDevices,[(538,295)(160,295)])
}
Add(FormatStr,11471405,497,399)
{
Mask="Devices Count in DeviceClass "%1": %2"
link(onFString,4361020:doWork3,[(571,405)])
link(Str1,3019455:Value3,[(503,374)(482,374)])
link(Str2,12801236:Count,[(510,374)(587,374)])
}
Add(TVT_EnumNodes,5993612,518,245)
{
@Color=16755370
TreeView="tree"
link(onEnum,12801236:doNext,[(566,251)(566,230)])
link(ID,3019455:Value1,[(524,233)(496,233)(496,289)(468,289)])
}
Add(Hub,8259675,378,56)
{
OutCount=4
link(onEvent1,10165711:doSeparateMT,[])
link(onEvent2,12801236:doReset,[(427,69)(427,244)])
link(onEvent3,3019455:doValue,[(419,76)(419,251)])
link(onEvent4,13612129:doEvent1,[(410,83)(410,314)])
}
Add(MT_MultiMem,3019455,462,245)
{
From=1
Count=3
link(onData,5993612:doEnum,[])
}
Add(Counter,12801236,581,224)
{
}
Add(ChanelToIndex,2118966,294,112)
{
link(onIndex,16199774:doSendMessage,[])
}


СКАЧАТЬ
карма: 2

0
Ответов: 70
Рейтинг: 1
#19: 2014-04-02 22:07:58 ЛС | профиль | цитата
Rysik
Спасибо большое за участие.
Такой элемент проглядел классный, да только вот DeviceID он не выдаёт =(
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#20: 2014-04-02 22:16:54 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:53
карма: 0

0
Ответов: 70
Рейтинг: 1
#21: 2014-04-02 23:14:49 ЛС | профиль | цитата
213.242.52.52
Та причем здесь лень. Навыков таких нет. Буду конечно пробовать, только такое ощущение, что вы не до конца поняли мою задачу. Мне не нужна "полнейшая информация", а "не устроили стандартные компоненты" так это вообще не про меня. Я как раз ищу как это сделать стандартными комонентами.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#22: 2014-04-03 10:15:06 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:55
карма: 0

0
Ответов: 70
Рейтинг: 1
#23: 2014-04-03 11:41:51 ЛС | профиль | цитата
78.25.121.10
На первой странице пост от 01 Apr 2014 23:39
У каждого диска (HDD/USB-Flash....) есть такое свойство как номер диска. Или словами DeviceID.
Если в консоли выполнить команду wmic diskdrive list brief /format:list, то увидим для дисков примерно такой список

Caption=WDC WD20EFRX-68AX9N0 ATA Device
DeviceID=\.PHYSICALDRIVE0
Model=WDC WD20EFRX-68AX9N0 ATA Device
Partitions=3
Size=2000396321280


Caption=Kingston DataTraveler 2.0 USB Device
DeviceID=\.PHYSICALDRIVE1
Model=Kingston DataTraveler 2.0 USB Device
Partitions=1
Size=31437020160

И так далее..

Потребовалось реализовать такой модуль. В форме есть список всех доступных ЛОГИЧЕСКИХ дисков (DriveBox). Пользователь выбирает из списка логический диск - ему в MessageBox выдается этот самый DeviceID выбранного диска.
Запилил пока на основе консольной wmic формирование списка ФИЗИЧЕСКИХ дисков с выводом DeviceID.
Очень хочу отвязать программу от использования wmic вообще (первоочередная цель) и очень хочется, всё-таки, список сделать с логическими дисками (тоесть использовать DriveBox)
Прикрепляю свою поделку для ознакомления
code_33335.txt

карма: 0

0
файлы: 1code_33335.txt [1.7KB] [119]
Гость
Ответов: 17029
Рейтинг: 0
#24: 2014-04-03 14:02:19 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:55
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#25: 2014-04-03 14:20:17 ЛС | профиль | цитата
В справке есть пример на VBS от IndigO

Add(MainForm,10920954,154,126)
{
Width=675
WindowsState=2
link(onCreate,3739609:doEvent1,[])
}
Add(VBJScript,4798378,238,140)
{
WorkPoints=#6:doEnum|
EventPoints=#6:onEnum|
Script=#23:Sub doWork(Data, Index)|18:strComputer = "." |74:Set objWMIService = GetObject("winmgmts:\" & strComputer & "ootCIMV2")|17:Select Case Index|30: Case "doEnum" |84: Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive",,48) |37: For Each objItem in colItems |182: sys.onEnum objItem.InterfaceType & "*" & objItem.Size & "*" & objItem.Index & "*" & objItem.Name & "*" & objItem.Model & "*" & objItem.Signature & "*" & objItem.MediaType|19: Next |10:End Select|8:End Sub |
UseName=0
link(onEnum,11705729:doAdd,[])
}
Add(StringTable,11705729,280,140)
{
Width=667
Height=273
Align=2
Columns=#13:InterfaceType|4:Size|5:Index|4:Name|5:Model|9:Signature|9:MediaType|
StrDelimiter="*"
}
Add(Hub,3739609,196,140)
{
OutCount=3
link(onEvent1,4798378:doEnum,[])
link(onEvent2,14251883:doEnum,[(224,153)(224,188)])
link(onEvent3,3749728:doEnum,[(224,160)(224,230)])
}
Add(VBJScript,14251883,238,182)
{
WorkPoints=#6:doEnum|
EventPoints=#6:onEnum|
Script=#23:Sub doWork(Data, Index)|18:strComputer = "." |74:Set objWMIService = GetObject("winmgmts:\" & strComputer & "ootCIMV2")|17:Select Case Index|30: Case "doEnum" |86: Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk",,48) |37: For Each objItem in colItems |239: sys.onEnum objItem.Caption & "*" & objItem.DeviceID & "*" & objItem.Name & "*" & objItem.Size & "*" & objItem.FileSystem & "*" & objItem.Description & "*" & objItem.DriveType & "*" & objItem.MediaType & "*" & objItem.VolumeName|19: Next |10:End Select|8:End Sub |
UseName=0
link(onEnum,9869355:doAdd,[])
}
Add(VBJScript,3749728,238,224)
{
WorkPoints=#6:doEnum|
EventPoints=#6:onEnum|
Script=#23:Sub doWork(Data, Index)|18:strComputer = "." |74:Set objWMIService = GetObject("winmgmts:\" & strComputer & "ootCIMV2")|17:Select Case Index|30: Case "doEnum" |97: Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDiskToPartition",,48) |37: For Each objItem in colItems |121: sys.onEnum EndingAddress & "*" & objItem.antecedent & "*" & objItem.dependent & "*" & objItem.StartingAddress|19: Next |10:End Select|8:End Sub |
UseName=0
link(onEnum,309455:doAdd,[])
}
Add(StringTable,309455,280,224)
{
Width=667
Height=273
Align=4
Columns=#13:EndingAddress|10:antecedent|9:dependent|15:StartingAddress|
StrDelimiter="*"
}
Add(StringTable,9869355,280,182)
{
Width=667
Height=273
Align=5
Columns=#7:Caption|8:DeviceID|4:Name|4:Size|10:FileSystem|11:Description|9:DriveType|9:MediaType|10:VolumeName|
StrDelimiter="*"
}

------------ Дoбавленo в 14.20:
217.24.189.52, твой пример выдает "Недопустимый знак" и не работает
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#26: 2014-04-03 16:02:41 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:55
карма: 0

0
Ответов: 70
Рейтинг: 1
#27: 2014-04-03 16:39:33 ЛС | профиль | цитата
nesco
Спасибо, но этот скрипт так же завязан на WMI.
г. ость
Опуститесь до моего уровня и перечитайте мой пост, который я уже перецитировал для внятности и выделил жирным, то, над чем пытаюсь работать.
отвязать программу от использования WMI вообще
Потом посмотрите на пример из четвертого поста и тот же самый, что дал nesco, потом прочтите скрипты, что находятся в этом примере, найдите фразу objWMIService и попробуйте снова упрекнуть меня в том, что я не читаю посты.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#28: 2014-04-03 16:44:03 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 08:42:57
карма: 0

0
Ответов: 70
Рейтинг: 1
#29: 2014-04-03 16:50:00 ЛС | профиль | цитата
г. ость
Часто приходится пользоваться виртуальной машиной QEMU для тестов ISO образов и проверки своей загрузочной флешки. Модифицирую ее часто и т.д. Написал лаунчер для QEMU, где есть загрузка либо c носителя информации (HDD/USB-Flash...) либо загрузка с ISO. Работает этот лаунчер уже не первый год и каши не просит, но вот попался компьютер, где служба WMI не срабатывала по какой-то причине и список дисков не строился, а потому лаунчер оказался бесполезным. Вот и парюсь теперь как от WMI отказаться. Выкладываю лаунчер + QEMU
http://rghost.ru/53739204
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#30: 2014-04-03 16:51:18 ЛС | профиль | цитата
MBTY писал(а):
Спасибо, но этот скрипт так же завязан на WMI

Если найдешь какой-либо код на Delphi, который будет отвязан от WMI и будет выдавать нужные параметры, то можно будет попытаться его портировать, а иначе -- никак. Я, к примеру, не нашел
карма: 22

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