Вверх ↑
Ответов: 866
Рейтинг: 186
#1: 2021-05-15 20:05:51 ЛС | профиль | цитата
Несколько небольших примеров как можно использовать системный поиск(WindowsSearch) в своих программах:
VBJScript

Add(MainForm,2953706,98,126)
{
 WindowsState=2
 link(onCreate,224191:doWork,[])
}
Add(VBJScript,224191,154,140)
{
 WorkPoints=#6:doWork|
 EventPoints=#7:onQuery|
 DataPoints=#8:findText|
 Script=#31:Dim objConnection, objRecordSet|0:|22:Sub doWork(Data,Index)|0:|52:Set objConnection = CreateObject("ADODB.Connection")|50:Set objRecordSet = CreateObject("ADODB.Recordset")|0:|91:objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"|200:objRecordSet.Open "select system.itemname, system.itempathdisplay, System.ItemType, System.ItemTypeText, System.Search.HitCount from systemindex where contains('" & sys.findText & "' )", objConnection|0:|26:While Not objRecordset.EOF|25:    strRes = vbNullString|42:    For i=0 To objRecordset.Fields.Count-1|62:        strRes = strRes & objRecordset.Fields(i).Value & vbTab|8:    Next|22:    sys.onQuery strRes|25:    objRecordset.MoveNext|4:Wend|0:|19:objConnection.Close|27:Set objConnection = Nothing|26:Set objRecordSet = Nothing|0:|7:End Sub|0:|0:|4:    |
 UseName=0
 link(onQuery,4784135:doAdd,[])
 link(findText,10358745:Value,[])
}
Add(StringTable,4784135,210,140)
{
 Left=270
 Top=115
 Align=5
 Columns=#13:Имя файла=200|22:Расположение файла=800|20:Расширение файла=100|13:Тип файла=200|21:Кол-во совпадений=100|0:|
 StrDelimiter="\t"
}
Add(Memory,10358745,154,84)
{
 @Hint=#16:Текст для поиска|
 Default=String(password)
 AddHint(45,-41,105,13,@Hint)
}

PowerShell (версия 5 и выше)

Add(MainForm,15175452,63,119)
{
 WindowsState=2
 link(onCreate,4794102:doString,[])
}
Add(WinExec,11401622,175,119)
{
 FileName="powershell"
 Mode=0
 Action="runas"
 Point(doConsoleExec)
 Point(onConsoleTerminate)
 link(onConsoleTerminate,10986195:doLoad,[])
}
Add(FormatStr,4794102,119,133)
{
 Mask="$query   = 'select system.itemname, system.itempathdisplay, System.ItemType, System.ItemTypeText, System.Search.HitCount from systemindex where contains(' + ''' %1 ''' + ')'\r\n$provider = 'Provider=Search.CollatorDSO.1;Extended PROPERTIES="Application=Windows"'\r\n$adapter  = new-object System.Data.OleDb.OleDBDataAdapter -Argument $query, $provider\r\n$results = new-object System.Data.DataSet\r\n\r\n$rowCount = $adapter.Fill($results)\r\n$results.Tables[0]|Export-Csv -Delimiter ';' -Encoding OEM -NoTypeInformation -Path .\list.csv"
 link(onFString,11401622:doConsoleExec,[])
 link(Str1,10856241:Value,[])
}
Add(Memory,10856241,119,84)
{
 @Hint=#16:Текст для поиска|
 Default=String(password)
 AddHint(45,-41,105,13,@Hint)
}
Add(MTStrTbl,8868118,413,189)
{
 Left=405
 Top=210
 Align=5
 Name="asd"
 link(CodePageSet,7188498:GetData,[])
}
Add(MST_Load,10986195,231,133)
{
 FileName="list.csv"
 MSTControl="asd"
 link(onLoad,6636110:doEvent1,[])
}
Add(Charset,8474447,469,133)
{
 link(onCharset,7941961:doReplace,[])
}
Add(EventFromData,7188498,413,133)
{
 link(onEvent,8474447:doCharset,[])
}
Add(Replace,7941961,525,133)
{
 SubStr="""
 link(onReplace,7188498:doData,[(564,139)(564,125)(403,125)(403,139)])
}
Add(MST_ColAction,8546763,336,133)
{
 Action=9
 MaxColWidth=1000
 Index=-2
 MSTControl="asd"
}
Add(Hub,6636110,287,133)
{
 link(onEvent1,8546763:doColAction,[])
 link(onEvent2,12422362:doDelete,[(326,146)(326,209)])
}
Add(FileTools,12422362,336,189)
{
 DelToRecycle=1
 FileName="list.csv"
}

DS_OLEDB(вкладка “Базы данных”)

Add(MainForm,2953706,70,98)
{
 WindowsState=2
 Point(onClose)
 link(onCreate,11260621:doOpen,[])
 link(onClose,11260621:doClose,[])
}
Add(DS_OLEDB,11260621,119,112)
{
 Name="WindowsSearch"
 Driver="provider=Search.CollatorDSO;EXTENDED PROPERTIES="Application=Windows""
 link(onCreate,434688:doString,[])
}
Add(DSC_Query,2124825,252,112)
{
 DSManager="WindowsSearch"
 link(onQuery,16232986:doAddRow,[])
 link(onColumns,16232986:doAddCols,[])
}
Add(Memory,10856241,168,56)
{
 @Hint=#16:Текст для поиска|
 Default=String(password)
 AddHint(45,-41,105,13,@Hint)
}
Add(FormatStr,434688,168,112)
{
 Mask="select "System.ItemUrl", "System.ItemTypeText", "System.Search.HitCount" from systemindex where contains('%1')\r\n"
 link(onFString,4286889:doEvent1,[])
 link(Str1,10856241:Value,[])
}
Add(MTStrTbl,8868118,364,112)
{
 Left=405
 Top=210
 Align=5
 Name="asd"
}
Add(MST_DB,16232986,308,112)
{
 MSTControl="asd"
}
Add(Hub,4286889,217,112)
{
 link(onEvent1,2124825:doQuery,[])
 link(onEvent2,8546763:doColAction,[(242,125)(242,167)])
}
Add(MST_ColAction,8546763,252,161)
{
 Action=9
 MaxColWidth=1000
 Index=-2
 MSTControl="asd"
}


Если “правильно” настроить параметры индексирования файлов “.sha”
Настройка индексирования.PNG
то поиск схем на компьютере по названию компонента, части кода и т.д. будет практически мгновенный.
индексирование SHA.png
карма: 18

0