Вверх ↑
Ответов: 698
Рейтинг: 143
#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
карма: 15

0