5

MicrosoftSearchからインデクサーをプログラムで開始/停止/一時停止する方法を決定したいと思います。

私はそれがこのようなプログラムで行われているのを見たのでそれが可能であることを知っています:http://brandontools.com/files/folders/sidebar_gadgets/entry511.aspx

ただし、MSDNまたはどこにもドキュメントが見つかりません。

従来のサービス制御方法で制御できる「WindowsSearch」サービスがあります。ただし、このサービスを開始/停止すると、検索自体の可用性も変更されます。インデクサーだけを制御したい。

インデクサーとの対話方法を説明するドキュメントがどこにあるか知っている人はいますか?私の検索スキルは私に失敗しました。

4

6 に答える 6

3

Microsoftによると、そうするための公式の方法はありません。

于 2009-10-25T20:16:24.290 に答える
3

インデックス作成部分を単純に無効にする方法はありません。それはオールオアナッシングサービスです。WSearchサービスの説明には次のように記載されています。

"ファイル、電子メール、その他のコンテンツのコンテンツのインデックス作成とプロパティキャッシュを提供します(拡張性APIを介して)。サービスはファイルと電子メールの通知に応答して、変更されたコンテンツのインデックスを作成します。サービスが停止または無効になっている場合、エクスプローラーは仮想を表示できません。アイテムのフォルダビュー、およびエクスプローラーでの検索は、アイテムごとの低速検索にフォールバックします。」

ただし、ドライブ/フォルダのプロパティを介して制御できる場合があります...エクスプローラから、個々のドライブに切り替えることができます(ドライブのプロパティを参照してください。「インデックスサービスを許可する...」オプションがあります)、またはフォルダの場合(フォルダのプロパティ->詳細->「検索を高速化するには、インデックスサービスを許可します...」)。

編集...少しグーグルすると、上記のプロパティが利用可能になります-System.IO.FileAttributesNotContentIndexedのMSDNページを見ると、説明付きのプロパティがあります。ファイルはオペレーティングシステムのコンテンツインデックスサービスによってインデックス付けされません。これは、個々のフォルダに設定できるはずだと思います。これがドライブレベルで設定されている場合(ドライブを再帰的に実行せずに)機能するかどうかはわかりませんが、最終的に達成しようとしていることすべてに有利なスタートを切ることができれば幸いです。

于 2009-10-25T20:20:21.370 に答える
0

これは、プログラムでWindows Searchを操作するための優れたチュートリアルです:JoyOfCodeの記事

Windows Search 3.x SDKは、WindowsSearch3または4に対して機能する.NETAPIを提供します。

残念ながら、一時停止/再開は公開されません。私が見つけたすべてのインデックスコントロールサンプルは、WMIを使用して検索サービスを停止します。それは明らかに索引付けを停止しますが、検索自体が利用できないという犠牲を払ってです。

于 2010-01-28T12:38:23.240 に答える
0

古いスレッドですが、私はそれに遭遇しました。他の誰かもそうかもしれません。

AutoITスクリプトを使用してインデックスオプションを開き、ダイアログボックスの[一時停止]ボタンをクリックします。

于 2013-12-27T20:12:23.343 に答える
-1

[実行]ダイアログを開き([スタート]、[ファイル名を指定して実行])、%SystemRoot%\ system32 \ compmgmt.msc / sと入力(またはコピー)して、最後のダイアログを展開します

于 2009-10-25T20:25:16.943 に答える
-1

このようなもの:

ServiceController service = new ServiceController( "WSearch");

service.Start();

また

service.Stop();

于 2009-10-25T19:18:00.137 に答える