hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

Windows Desktop Search3.0 への対応の調査

KWIC FinderのWindows Desktop Search3.0 への対応方法を調べている。

まず、Windows Desktop SearchのAPIの文書が公開されており、SDKとサンプルプログラムがダウンロードできる。
MSN Japan - ニュース, 天気, メール (Outlook, Hotmail), Bing検索, Skype

ところが、このサンプルはMSNサーチツールバーでは動作するが、Windows Desktop Search3.0 では動かない!
諦めかけていたところ、次のような素敵な記事をみつけた。

http://www.microsoft.com/technet/scriptcenter/topics/desktop/wdsearch.mspx

さっそく実験してみよう。次のようなスクリプトをエディタで書いて、test.vbsという名前で保存する。もちろん、Windows Desktop Searchがインストールされていることが前提である。'foo'の場所に、検索したい文字列を入れて実行すると、ちゃんと検索に一致するファイル名が帰ってくる。

On Error Resume Next

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"


objRecordSet.Open "SELECT System.FileName FROM SYSTEMINDEX WHERE CONTAINS('foo')", _
    objConnection

objRecordSet.MoveFirst

Do Until objRecordset.EOF
    Wscript.Echo objRecordset.Fields.Item("System.FileName")
    objRecordset.MoveNext
Loop