Windows 検索を使用して全文検索の結果を取得するコードを探しています (デフォルトでは、Vista、7、および 8 で利用できるはずです)。
ここでいくつかの質問とmsdnでいくつかのテキストを見つけましたが、それらのどれにも機能する正確なコードはありません。Windows API Code Pack (Windows Search へのインターフェイスの 1 つとして言及されている) を試してみましたが、全文ではなく、ファイル名の結果のみが返されます。
Windows 検索を使用して全文検索の結果を取得するコードを探しています (デフォルトでは、Vista、7、および 8 で利用できるはずです)。
ここでいくつかの質問とmsdnでいくつかのテキストを見つけましたが、それらのどれにも機能する正確なコードはありません。Windows API Code Pack (Windows Search へのインターフェイスの 1 つとして言及されている) を試してみましたが、全文ではなく、ファイル名の結果のみが返されます。
これが機能するコードです-例では、デスクトップフォルダーで「ダミー」という単語を検索するように作成しました:
string connectionString = "Provider=Search.CollatorDSO;Extended Properties=\"Application=Windows\"";
OleDbConnection connection = new OleDbConnection(connectionString);
string query = @"SELECT System.ItemName FROM SystemIndex " +
@"WHERE scope ='file:" + System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "' and FREETEXT('dummy')";
OleDbCommand command = new OleDbCommand(query, connection);
connection.Open();
List<string> result = new List<string>();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
result.Add(reader.GetString(0));
}
connection.Close();
DSearch の例を見てください。 Windows サーチのコード サンプル
それがあなたが望むものです。