Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Cиcтeмa 
Устройства - DeviceInfo

DeviceInfo
Краткое описание
   Компонент предназначен дл получения информации об устройствах
Параметры
  • ShowHidden - Разрешить показ скрытых устройств
  • NotEmptyInfo - Выдавать только непустые параметры устройств
  • onBreakEnable - True - после doStop вызывается событие onBreak, а onEndEnum - не вызывается
  • Методы
  • doEnumDevice - Начинает перечисление устройств в системе
  • doDeviceInfo - Получает информацию об устройстве по его индексу из потока или поля DeviceIdx. ARG(DeviceIdx)
  • doStop - Останавливает перебор устройств
  • doDeviceOnOf - Включает/выключает устройство. ARG(DeviceIdx, State)
  • События
  • onEnumDevice - Событие происходит всякий раз при нахождении очередного устройства в системе. ARG(ParentID, ID, IconIdx, Name, DeviceIdx, ClassGUID, ConfigFlags)
  • onEndEnum - Событие происходит всякий раз по окончанию перебора всех устройств в системе. ARG(NULL)
  • onDeviceInfo - Получает информацию об устройстве по его номеру. ARG(ParameterName, Info)
  • onBreak - Событие происходит при onBreakEnable=True после события onEnumDevice, если при этом был вызван метод doStop. ARG(NULL)
  • onDeviceInfo - Получает информацию об устройстве по его номеру. ARG(ParameterName, Info)
  • Свойства
  • CountClasses - Содержит количество найденных классов устройств
  • CountDevices - Содержит количество найденных устройств
  • IconArray - Массив иконок
  • Данные
  • DeviceIdx - Индекс устройства для получения информации
  • Пример
    Пример использования компонента DeviceInfo для построения списка устройств
    
    Add(MainForm,2953706,126,294)
    {
    Width=844
    Height=497
    Font=[Arial,8,1,0,204]
    Caption="DeviceInfo"
    Position=1
    link(onCreate,6869934:doEnum,[])
    }
    Add(Hub,776385,133,98)
    {
    InCount=2
    OutCount=6
    link(onEvent1,10323478:doWork1,[(536,104)])
    link(onEvent2,4303500:doClear,[(320,111)(320,125)])
    link(onEvent3,2118966:doWork1,[(305,118)(305,181)])
    link(onEvent4,9672375:doEnumDevice,[(156,125)(156,181)])
    link(onEvent5,4303500:doSort,[])
    link(onEvent6,4303500:doSetFocus,[])
    }
    Add(TreeViewTrain,4303500,350,119)
    {
    @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,231,147)
    {
    @Color=16755370
    TreeView="tree"
    }
    Add(IconsManager,636586,231,245)
    {
    Name="icons"
    Icons=[]
    }
    Add(ArrayRW,10148983,231,294)
    {
    link(Array,636586:IconArray,[])
    }
    Add(MTStrTbl,10789124,602,203)
    {
    @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,455,119)
    {
    From=4
    Count=1
    link(onData1,484255:doEvent1,[])
    }
    Add(MST_RowAction,13041089,231,189)
    {
    @Color=11184895
    MSTControl="tab"
    }
    Add(MST_Clear,952511,602,119)
    {
    @Color=11184895
    MSTControl="tab"
    }
    Add(Hub,484255,504,119)
    {
    OutCount=3
    link(onEvent1,10323478:doWork2,[])
    link(onEvent2,9672375:doDeviceInfo,[(528,132)(528,229)(156,229)(156,188)])
    link(onEvent3,3746616:doData,[(536,139)(536,167)])
    }
    Add(ChildPanel,2701957,35,189)
    {
    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,532,119)
    {
    link(onEvent,952511:doClear,[])
    }
    Add(MST_SortInCol,8552318,602,161)
    {
    @Color=11184895
    MSTControl="tab"
    }
    Add(DoData,3746616,553,161)
    {
    Data=Integer(0)
    link(onEventData,8552318:doSort,[])
    }
    Add(Hub,7987426,84,189)
    {
    link(onEvent1,9672375:doShowHidden,[])
    link(onEvent2,776385:doEvent1,[(109,202)(109,104)])
    }
    Add(ArrayEnum,6869934,182,308)
    {
    link(onItem,10148983:doAdd,[])
    link(onEndEnum,776385:doEvent2,[(224,321)(224,349)(116,349)(116,111)])
    link(Array,9672375:IconArray,[])
    }
    Add(DeviceInfo,9672375,168,175)
    {
    NotEmptyInfo=1
    Point(doShowHidden)
    link(onEnumDevice,10415196:doAddNode,[(216,181)(216,153)])
    link(onEndEnum,6123379:doEvent1,[])
    link(onDeviceInfo,13041089:doRowAction,[])
    }
    Add(SendMessage,16199774,357,175)
    {
    Message=4
    link(Handle,4303500:Handle,[])
    }
    Add(StatusBar,5468645,672,420)
    {
    Panels=#4:=160|4:=160|
    link(Panel,344869:Value,[])
    }
    Add(Memory,344869,679,371)
    {
    }
    Add(ChanelToIndex,10927325,630,371)
    {
    Count=3
    link(onIndex,344869:doValue,[])
    }
    Add(Hub,13612129,469,371)
    {
    InCount=2
    OutCount=6
    link(onEvent1,10927325:doWork1,[])
    link(onEvent2,6012734:doStrCat,[])
    link(onEvent3,10927325:doWork2,[(599,391)(599,384)])
    link(onEvent4,11771558:doStrCat,[(510,398)(510,426)])
    link(onEvent5,10927325:doWork3,[(616,405)(616,391)])
    link(onEvent6,11471405:doString,[(495,412)(495,468)])
    }
    Add(HubEx,4361020,588,420)
    {
    link(onEvent,5468645:doText,[])
    }
    Add(Hub,6123379,280,182)
    {
    link(onEvent1,2118966:doWork2,[])
    link(onEvent2,13612129:doEvent2,[(305,195)(305,384)])
    }
    Add(StrCat,6012734,518,378)
    {
    Str1="DeviceClasses Count: "
    link(onStrCat,4361020:doWork1,[(592,384)])
    link(Str2,9672375:CountClasses,[(531,364)(174,364)])
    }
    Add(StrCat,11771558,546,420)
    {
    Str1="Devices Count: "
    link(onStrCat,4361020:doWork2,[])
    link(Str2,9672375:CountDevices,[(559,358)(181,358)])
    }
    Add(FormatStr,11471405,518,462)
    {
    Mask="Devices Count in DeviceClass "%1": %2"
    link(onFString,4361020:doWork3,[(592,468)])
    link(Str1,3019455:Value3,[(524,437)(503,437)])
    link(Str2,12801236:Count,[(531,437)(608,437)])
    }
    Add(TVT_EnumNodes,5993612,539,308)
    {
    @Color=16755370
    TreeView="tree"
    link(onEnum,12801236:doNext,[(587,314)(587,293)])
    link(ID,3019455:Value1,[(545,296)(517,296)(517,352)(489,352)])
    }
    Add(Hub,8259675,399,119)
    {
    OutCount=4
    link(onEvent1,10165711:doSeparateMT,[])
    link(onEvent2,12801236:doReset,[(448,132)(448,307)])
    link(onEvent3,3019455:doValue,[(440,139)(440,314)])
    link(onEvent4,13612129:doEvent1,[(431,146)(431,377)])
    }
    Add(MT_MultiMem,3019455,483,308)
    {
    From=1
    Count=3
    link(onData,5993612:doEnum,[])
    }
    Add(Counter,12801236,602,287)
    {
    }
    Add(ChanelToIndex,2118966,315,175)
    {
    link(onIndex,16199774:doSendMessage,[])
    }

    Примечание
    ConfigFlags - текстовая последовательность флагов, где каждый флаг разделен разделителем - запятая, пробел (', '). Список флагов приведен ниже
    CONFIGFLAG_DISABLED
    CONFIGFLAG_REMOVED
    CONFIGFLAG_MANUAL_INSTALL
    CONFIGFLAG_IGNORE_BOOT_LC
    CONFIGFLAG_NET_BOOT
    CONFIGFLAG_REINSTALL
    CONFIGFLAG_FAILEDINSTALL
    CONFIGFLAG_CANTSTOPACHILD
    CONFIGFLAG_OKREMOVEROM
    CONFIGFLAG_NOREMOVEEXIT
    CONFIGFLAG_FINISH_INSTALL
    CONFIGFLAG_NEEDS_FORCED_CONFIG
    CONFIGFLAG_NETBOOT_CARD
    CONFIGFLAG_PARTIAL_LOG_CONF
    CONFIGFLAG_SUPPRESS_SURPRISE
    CONFIGFLAG_VERIFY_HARDWARE
    Замечания
    Обновление элемента: [svn]DeviceInfo.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...